共享內(nèi)存:
可以通過ipcs -lm命令查看目前系統(tǒng)共享內(nèi)存的參數(shù)限制:
# ipcs -lm
—— Shared Memory Limits ——–
max number of segments = 4096
max seg size (kbytes) = 1048576
max total shared memory (pages) = 2097152
min seg size (bytes) = 1
這里涉及到3個于共享內(nèi)存相關(guān)的參數(shù):SHMMAX,SHMMNI,SHMALL
SHMMAX
含義:單個共享內(nèi)存段最大字節(jié)數(shù)
設(shè)置:比SGA略大
查看:cat /proc/sys/kernel/shmmax
$ cat /proc/sys/kernel/shmmax
1073741824
修改:
sysctl -w kernel.shmmax=1073741824
echo “kernel.shmmax=1073741824″ >> /etc/sysctl.conf
SHMMNI
含義:共享內(nèi)存段最大個數(shù)
設(shè)置:至少4096
查看:cat /proc/sys/kernel/shmmni
# cat /proc/sys/kernel/shmmni
4096
修改:
# sysctl -w kernel.shmmni=4096
# echo “kernel.shmmni=4096″ >> /etc/sysctl.conf
SHMALL
含義:系統(tǒng)中共享內(nèi)存頁總數(shù)
設(shè)置:至少ceil(shmmax/PAGE_SIZE);ORACLE DOC 默認值:2097152*4096=8GB
查看:cat /proc/sys/kernel/shmall
$ getconf PAGE_SIZE
4096
# cat /proc/sys/kernel/shmall
2097152
修改:
# sysctl -w kernel.shmall=2097152
# echo “kernel.shmall=2097152″ >> /etc/sysctl.conf
消息隊列
為進程提供了一種異步傳遞消息的方法。在使用 msgget()建立了一條消息隊
列之后,發(fā)送進程和接收進程就可以通過這條消息隊列交換消息。發(fā)送進程將消息發(fā)送到
指定的消息隊列,而接收者試圖從指定的消息隊列中獲取消息。如果該隊列中沒有消息的
話,則接收者根據(jù)自己是否要等待的意愿而阻塞或返回某個標(biāo)志。
名??? 稱 描??? 述 默 認 值 最 大 值?
msgmni 最大消息隊列數(shù) 16 2GB?
msgmax 最大消息長度(字節(jié)數(shù)) 8192 2GB?
msgmnb 消息隊列中的最大字節(jié)數(shù) 16384 2GB
?
msgmni 定義了系統(tǒng)范圍內(nèi)的消息隊列上限。與信號量一樣,消息隊列也擁有一個相關(guān)
的標(biāo)識符。在系統(tǒng)初始化階段里,內(nèi)核創(chuàng)建一個指向消息隊列標(biāo)識符結(jié)構(gòu)的指針數(shù)組。該
數(shù)組的項數(shù)由 msgmni確定。對于每個消息隊列,Linux 內(nèi)核為標(biāo)識符分配44B,為消息隊
列數(shù)據(jù)結(jié)構(gòu)分配 96B。為了獲得更多的消息隊列資源,可以動態(tài)增加 msgmni 取值。和信
號量一樣,消息隊列標(biāo)識符的最大數(shù)目也受限于IPCMNI。msgmni的默認上限為 16B,這
可能不足以保證一些大型數(shù)據(jù)庫應(yīng)用平滑地運行。如果在系統(tǒng)上要運行數(shù)據(jù)庫應(yīng)用的話,
推薦默認上限值是 128B。
msgmax 限制進程可以發(fā)送的消息長度。該參數(shù)由 Msgsnd()函數(shù)加以應(yīng)用。如果待發(fā)
送消息的長度超過該值,則返回一個錯誤。該參數(shù)可以在運行時調(diào)整
?
msgmnb 確定一個消息隊列的容量。該參數(shù)的取值存儲在消息隊列標(biāo)識符結(jié)構(gòu)的某個
域中,用于確定是否存在著對新消息進行排隊的空間。msgmnb 值可以動態(tài)修改,默認為
16384。修改其取值會影響到所有新的消息隊列的容量。用戶可以通過 Msgctl()系統(tǒng)調(diào)用來
增加現(xiàn)有消息隊列的容量
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
