歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> linux kernel.shmall shemax shemin解釋

linux kernel.shmall shemax shemin解釋

日期:2017/3/1 14:51:20   编辑:關於Linux
linux kernel.shmall shemax shemin解釋 Linux X86-64操作系統,Oracle 10g數據庫,由8G加到16G,把kernel.shmmax參數改到17179869184(16G)後,發現只要修改sga_max_size和sga_target參數到超過8G,Oracle就會報內存不夠無法啟動,檢查另外兩個共享內存參數相關參數:kernel.shmall和kernel.shmmni,kernel.shmall參數是控制共享內存頁數,kernel.shmmni參數是控制共享內存段總數,目前的參數值是4096,足夠大了,那麼問題應該是出在kernel.shmall上,用8589934592(8G)除以當前的參數值2097152,結果是4096,說明頁大小是4K,現在要把SGA調到大於8G,就要調大kernel.shmall參數,調整到當前值的2倍(4194304)後,就可以成功地將sga設置到13G了。 對於32位系統,一頁=4k,也就是4096字節。 kernel.shmall = 2097152 就是 2097152*4k/1024/1024 = 8G 就是說可用共享內存一共 8G 上面shmmax = 2G 512 32000 100 100 >/proc/sys/kernel/sem 分別是指什麼 SEMMSL(每個用戶擁有信號量最大數量),SEMMNS(系統信號量最大數量),SEMOPM(每次semop系統調用操作數),SEMMNI(系統信號量集最大數量) REDHAT AS4 kernel.sem設置參考 在安裝oracle 之前通常需要設置kernel.sem這個參數,下面對些作簡單介紹 sem其實是semaphores的縮寫,查看當前設置 [oracle@ebsse oracle]$ cat /proc/sys/kernel/sem 250 32000 100 128 4個數據分別對應 SEMMSL SEMMNS SEMOPM SEMMNI 如當oracle DB初始化參數文件中PROCESSES參數設置較大時,需要調整SEMAPHORES設置 SEMMSL應該設置為服務器中各個實例中最大的PROCESSES參數+10,例如,當最大的PROCESSES參數為5000時,SEMMSL應設置為5010。 SEMMNS參數應設置為SEMMSL*SEMMNI,接上例SEMMSL為5010,SEMMNS參數應為(5010*128)=641280。 SEMOPM參數應設置與SEMMSL參數相同,接上例此處應設置為5010 更改當前SEMAPHORES參數設置: [oracle@ebsse oracle]$ su Password: [root@ebsse oracle]# echo "5010 641280 5010 128" > /proc/sys/kernel/sem [root@ebsse oracle]# cat /proc/sys/kernel/sem 5010 641280 5010 128 如需啟動時自動應用,可在/etc/sysctl.conf增加: kernel.sem =5010 641280 5010 128
Copyright © Linux教程網 All Rights Reserved