1。修改Linux默認IO調度算法。
Linux默認的IO調度算法CFQ,需要修改截止日期。如果是SSD或PCIe SSD設備,需要修改為空?梢允褂靡韵聝蓚修改。
1、在線動態修改、重啟失敗。
復制代碼代碼如下所示:
回聲截止時間
提示:這里的SDA代表你需要修改的硬盤,這取決于你的實際情況。
2。修改 / /等grub.conf和永久生效。
修改 / /等grub.conf在內核配置文件中添加一個配置線,例如:
復制代碼代碼如下所示:
核/ vmlinuz-2.6.32-279.el6.x86_64 RO根= = e01d6bb4-bd74-404f-855a-0f700fad4de0 UUID rd_no_luks rd_no_lvm郎= en_us.utf-8 rd_no_md sysfont = latarcyrheb-sun1
6 crashkernel =自動鍵盤類型= =我們rd_no_dm PC當電梯=期限rhgb安靜
關注電梯參數,如果您設置了內核,您需要重新啟動系統才能生效。
最后,它可以通過貓/系統/隊列/調度程序來觀察,修改前后的差異。
兩。展開文件描述符
這是一個經常修改的參數,程序的高并發性將被修改。
1。動態修改、重新啟動失敗,只使用root,當前會話是有效的。
復制代碼代碼如下所示:
ulimit -n 51200
2,修改配置文件,永久效果。
添加一行 / / / limits.conf等安全配置文件
復制代碼代碼如下所示:
*硬nofile 51200
擴大開放過程流程數/等/安全/ limits.conf
添加一行 / / / limits.conf等安全配置文件
復制代碼代碼如下所示:
*硬nproc 51200
最后,修改文件添加
復制代碼代碼如下所示:
會議要求 / / / pam_limits.so lib64安全
重新啟動系統并使用ulimit -a命令來查看它是否是有效的。
三。禁用NUMA特性
新一代的NUMA架構不適合運行數據庫,這是為了提高內存利用率,但實際效果并不好,這可能會導致一個CPU的內存還有剩余,而另一個是不夠的,交換的問題,所以建議關閉或修改NUMA調度機制。
1、修改 / /等grub.conf關閉NUMA,生效后重啟。
復制代碼代碼如下所示:
核/ vmlinuz-2.6.32-279.el6.x86_64 RO根= = e01d6bb4-bd74-404f-855a-0f700fad4de0 UUID rd_no_luks rd_no_lvm郎= en_us.utf-8 rd_no_md sysfont = latarcyrheb-sun1
6 crashkernel =自動鍵盤類型= =我們rd_no_dm PC當電梯= = rhgb安靜了期限NUMA
2、修改 / /初始化等。D / MySQL或mysqld_safe腳本啟動mysqld進程設置NUMA調度機制,例如。
在以下的mysqld_safe腳本的新版本,所以你不需要添加的,你可以看看你的mysqld_safe腳本有以下內容。
復制代碼代碼如下所示:
如果真的numa_interleave -情商測試1美元
然后
#定位numactl,確保它的存在。
如果!my_which numactl > / dev /空2 > 1
然后
log_error numactl命令沒有找到,所需的 u2013 NUMA交織
1號出口
#試圖運行一個命令,確保作品。
Elif!numactl u2013交織=真
然后
log_error numactl失敗,檢查是否正確安裝了numactl
網絡啟動mysqld和numactl。#
CMD CMD =美元numactl交錯=所有
elif測試numa_interleave -情商1美元
然后
log_error numa交織在這個平臺上不支持
1號出口
FI
四。修改swappiness設置
swappiness是Linux內核參數,用于物理內存交換策略控制。它允許一個百分比的最小值為0,最大值是100,默認值是60,可以通過下面的命令來觀察。
復制代碼代碼如下所示:
sysctl - grep swappiness | #
vm.swappiness = 60
這個設定值的影響是什么
vm.swappiness設置為0,最大限度地減少互換使用,100說不活躍的內存頁交換到交換或緩存(Cache釋放類似預讀文件)。
無效的內存是指程序映射,但記憶,長時間不使用,我們可以使用vmstat系統中看到多少消極的記憶。
復制代碼代碼如下所示:
# vmstat - 1
特效————-記憶-交換 u2013 - IO——————————————CPU
R B swpd自由全段活性硅Bi Bo CS
0016930764192752 367332028601732001 3100109900
1016930764192752 367332028601732000 11362710010000
0016930764192748 367332028601732000 561167325109900
0016930764192740 367332028601732000 4010391640010000
在centos7,這個推薦值設置為0,但在新版本的內核,這樣的設置可能會導致OOM(內存溢出),內核將殺死,用最記憶mysqld進程。
現在,值建議設置為1,設置方法如下所示:
添加一行在 / / sysctl.conf文件等。
復制代碼代碼如下所示:
vm.swappiness = 1
sysctl - P / / #運行這個命令,立即進行配置。
五、優化文件系統掛載參數。
首先,關于文件系統的使用,很多在線測試,令人眼花繚亂。一般結論如下。
XFS > ext3:xfs性能優于ext3
ext4 > ext3:EXT4性能優于ext3
ext4的XFS:XFS和ext4的誰是好的我不這么說。
然后它是用來掛載文件系統的參數:
復制代碼代碼如下所示:
違約,noatime,nodiratime,屏障= 0(使用nobarrier XFS)
文件系統掛載參數是 / / fstab文件等并重新啟動時生效修改。
noatime表明訪問時間沒有記錄,和nodiratime不記錄目錄的訪問時間。
障礙= 0,這意味著關閉屏障功能的主要目的。屏障是保證磁盤寫入數據的安全,但會降低性能。如果有一個備用電池電源如BBU確?刂瓶ú魂P機的一瞬間,該功能可以安全地關上下來。
您可以看到配置是否由命令生效。
復制代碼代碼如下所示:
#貓/ proc /坐騎
rootfs / rootfs RW 00
程序或子程序的RW,nosuid將,則nodev,noexec,relatime 00
sysfs /系統sysfs RW,seclabel,nosuid將,則nodev,noexec,relatime 00
Devtmpfs /dev devtmpfs RW, seclabel, nosuid, relatime, size=8188388k, nr_inodes=2047097, mode=755 00
devpts / dev /分devpts RW,seclabel,relatime,GID = 5,模式= 620,00 = 000 ptmxmode
tmpfs / dev / SHM tmpfs RW,seclabel,nosuid將,則nodev,relatime 00
/ / / dev sda3 EXT4 RW,seclabel,relatime,noatime,nodiratime,屏障= 0,00 =有序數據
沒有/ SELinux selinuxfs RW,relatime 00
devtmpfs / dev devtmpfs RW,seclabel,nosuid將relatime,大小=,8188388k,nr_inodes = 2047097,00 = 755模式
/ proc /公共汽車/ USB / proc /公共汽車/ USB USB系統RW,relatime 00
沒有/程序/系統/ FS / binfmt_misc binfmt_misc RW,relatime 00
/ / / dev安裝引導ext4 RW,seclabel,noatime,nodiratime,屏障= 0,00 =有序數據