Oracle 效能最佳化之核心的shmall 和shmmax 引數
1. 核心的 shmall 和 shmmax 引數
SHMMAX = 配置了最大的記憶體segment的大小 ——> 這個設定的比SGA_MAX_SIZE大比較好。
SHMMAX引數:Linux程式可以分配的單獨共享記憶體段的最大值。一般設定為記憶體總大小的一半。這個值的設定應該大於SGA_MAX_TARGET或MEMORY_MAX_TARGET的值,因此對於安裝Oracle資料庫的系統,shmmax的值應該比記憶體的二分之一大一些。
SHMMIN= 最小的記憶體segment的大小 。
SHMMNI= 整個系統的記憶體segment的總個數 。設定系統級最大共享記憶體段數量。Oracle10g推薦最小值為4096,可以適當比4096增加一些。
SHMSEG= 每個程式可以使用的記憶體segment的最大個數
shmall =是全部允許使用的共享記憶體大小,shmmax 是單個段允許使用的大小。這兩個可以設定為記憶體的 90%。例如 16G 記憶體,16*1024*1024*1024*90% = 15461882265,shmall 的大小為 15461882265/4k(getconf PAGESIZE可得到) = 3774873。
shmall設定共享記憶體總頁數。這個值太小有可能導致資料庫啟動報錯。很多人調整系統核心引數的時候只關注SHMMAX引數,而忽略了SHMALL引數的設定。
-
2.配置訊號燈( semphore )的引數
訊號燈semaphores是程式或執行緒間訪問共享記憶體時提供同步的計數器。
SEMMSL= 設定每個訊號燈組中訊號燈最大數量, 推薦的最小值是250 。對於系統中存在大量併發連線的系統,推薦將這個值設定為 PROCESSES初始化引數加10 。
SEMMNI= 設定系統中訊號燈組的最大數量。Oracle10g和11g的推薦值為142。
SEMMNS=設定系統中訊號燈的最大數量。作業系統在分配訊號燈時不會超過LEAST(SEMMNS, SEMMSL*SEMMNI )。事實上,如果SEMMNS的值超過了SEMMSL*SEMMNI是非法的, 因此推薦SEMMNS的值就設定為SEMMSL*SEMMNI 。Oracle推薦SEMMNS的設定 不小於32000 ,假如資料庫的PROCESSES引數設定為600,則SEMMNS的設定應為:
SEMOPM引數:設定每次系統呼叫可以同時執行的最大訊號燈操作的數量。由於一個訊號燈組最多擁有SEMMSL個訊號燈,因此有推薦將SEMOPM設定為SEMMSL的值。Oracle驗證的10.2和11.1的SEMOPM的配置為100。
透過下面的命令可以檢查訊號燈相關配置:
對應的4個值從左到右分別為SEMMSL、SEMMNS、SEMOPM和SEMMNI
-
3.修改 /etc/sysctl.conf
kernel.shmmax=15461882265
kernel.shmall=3774873
kernel.msgmax=65535
kernel.msgmnb=65535
執行 sudo sysctl -p
可以使用 ipcs -l 看結果,ipcs -u 可以看到實際使用的情況
本文轉自: https://blog.csdn.net/sunansheng/article/details/51889044
感謝原作者
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20893244/viewspace-2158025/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 核心引數kernel.shmall和kernel.shmmaxHMM
- 核心的 shmall 和 shmmax 引數(http://wdicc.com/)HMMHTTP
- 安裝oracle時引數shmmax,shmall的含義OracleHMM
- 【Linux】kernel.shmmax和shmall設定LinuxHMM
- Linux核心引數(如kernel.shmmax)及Oracle相關引數調整LinuxHMMOracle
- Oracle安裝時shmmax引數的設定OracleHMM
- Linux 核心(kernel)引數 sysctl.conf , shmmaxLinuxHMM
- Linux核心引數(如kernel.shmmax)及Oracle相關引數調整(如SGA_MAX_SIZE)LinuxHMMOracle
- Oracle和SUN Solaris核心引數Oracle
- Oracle 核心引數Oracle
- ORACLE核心引數Oracle
- Oracle和SUN Solaris核心引數(轉)Oracle
- Oracle效能最佳化經驗分享之系統引數設定(轉)Oracle
- Linux 核心引數 和 Oracle相關引數調整LinuxOracle
- oracle 效能引數Oracle
- linux核心引數最佳化(七)Linux
- linux核心引數最佳化1Linux
- Linux下kernel.shmall引數的設定(zt)Linux
- 談談ORACLE核心引數Oracle
- oracle核心引數意義Oracle
- [最佳化]Oracle 內在索引和引數數的調整(轉)Oracle索引
- Mysql 效能最佳化--基礎引數MySql
- DB2 效能最佳化引數DB2
- 修改linux的網路核心最佳化引數Linux
- Linux上shmmax引數的設定及含義LinuxHMM
- oracle rac 核心引數詳解Oracle
- oracle相關的linux核心引數OracleLinux
- MySQL效能最佳化之Open_Table配置引數的合理配置建議MySql
- nginx引數詳解與效能最佳化(-)Nginx
- Linux核心引數以及Oracle引數調整(updated)LinuxOracle
- Oracle效能最佳化之SQL最佳化(轉)OracleSQL
- Oracle效能最佳化 之 共享池Oracle
- Linux上shmmax引數的設定及含義(轉)LinuxHMM
- Linux 核心引數優化(for oracle)Linux優化Oracle
- Oracle中的sysctl.conf核心引數Oracle
- 安裝oracle時核心引數的含義Oracle
- oracle sga配置相關的os 核心引數Oracle
- Linux 核心引數及Oracle相關引數調整LinuxOracle