一、kernel.shmmax作用
kernel.shmmax是Linux系統(tǒng)內(nèi)核參數(shù)之一,與共享內(nèi)存相關(guān)。其作用是設(shè)置Linux系統(tǒng)可以使用的最大共享內(nèi)存大小,即單個(gè)共享內(nèi)存段的最大可用空間。
二、kernel.shmmax單位
kernel.shmmax的單位是字節(jié)(Byte)。
三、kernel.shmmax代表
kernel.shmmax代表了Linux系統(tǒng)內(nèi)核可以使用的最大共享內(nèi)存大小。
四、kernel.shmmax設(shè)多大
kernel.shmmax的大小應(yīng)該根據(jù)實(shí)際需要來設(shè)置,需要根據(jù)應(yīng)用程序需要使用的共享內(nèi)存大小來進(jìn)行估算。在設(shè)置時(shí)需要考慮到以下因素:
1、操作系統(tǒng)的最大物理內(nèi)存大??;
2、系統(tǒng)中所有進(jìn)程使用的內(nèi)存大??;
3、系統(tǒng)中其他共享內(nèi)存段的大小。
五、kernel.shmmax如何設(shè)置
kernel.shmmax可以通過以下方式進(jìn)行設(shè)置:
# 查看當(dāng)前kernel.shmmax值
sysctl kernel.shmmax
# 永久設(shè)置kernel.shmmax值
echo "kernel.shmmax = 536870912" >> /etc/sysctl.conf
sysctl -p
以上代碼設(shè)置的kernel.shmmax值是536870912字節(jié),即512MB。
六、kernel.shmmax 如何計(jì)算
計(jì)算kernel.shmmax的大小,需要考慮到以下因素:
1、操作系統(tǒng)的最大物理內(nèi)存大小;
2、系統(tǒng)中所有進(jìn)程使用的內(nèi)存大小;
3、系統(tǒng)中其他共享內(nèi)存段的大小。
根據(jù)以上因素來計(jì)算,可以如下計(jì)算:
kernel.shmmax = (操作系統(tǒng)最大物理內(nèi)存 - 系統(tǒng)中所有進(jìn)程使用的內(nèi)存大小 - 其他共享內(nèi)存段的大小) / 共享內(nèi)存段數(shù)量
比如,假設(shè)操作系統(tǒng)的最大物理內(nèi)存大小為1TB,系統(tǒng)中所有進(jìn)程使用的內(nèi)存大小為300GB,其他共享內(nèi)存段的大小為50GB,需要使用10個(gè)共享內(nèi)存段,則可計(jì)算出每個(gè)共享內(nèi)存段最大可用空間為60GB:
kernel.shmmax = (1TB - 300GB - 50GB) / 10 = 60GB
七、kernel.shmmax默認(rèn)值是多少
kernel.shmmax的默認(rèn)值視Linux系統(tǒng)版本而定,一般默認(rèn)值為32位系統(tǒng)上為2GB,64位系統(tǒng)上為56TB。
八、kernel.shmmax設(shè)多大256g
如果需要將kernel.shmmax設(shè)為256GB,則可以使用如下命令:
echo "kernel.shmmax = 274877906944" >> /etc/sysctl.conf
sysctl -p
九、kernel.shmmax 必須要設(shè)置嗎
不是必須要設(shè)置,但是在需要使用大型共享內(nèi)存的應(yīng)用程序中,必須要將kernel.shmmax設(shè)置為合適的值。