編輯 /etc/system,修改後需 reboot 生效,並用 sysdef -i 驗證。若未生效,執行 modload /kernel/sys/shmsys。
| 參數 | 含義 | 建議值 | 範例 |
|---|---|---|---|
| shmmax | 單一共享記憶體段最大值 | 物理記憶體 50% | set shmsys:shminfo_shmmax=10485760 |
| shmmin | 共享記憶體段最小值 | 1 | set shmsys:shminfo_shmmin=1 |
| shmmni | 系統最大共享記憶體段數 | 100 | set shmsys:shminfo_shmmni=100 |
| shmseg | 單一行程最大可附掛段數 | 20 | set shmsys:shminfo_shmseg=20 |
| 參數 | 含義 | 計算方式 | 範例 |
|---|---|---|---|
| semmni | 系統最大訊號量集合數 | 固定 100 | set semsys:seminfo_semmni=100 |
| semmsl | 單一集合最大訊號量數 | 10 + 所有實例中最大 processes 參數值 | set semsys:seminfo_semmsl=200 |
| semmns | 系統最大訊號量總數 | Σ(各實例 processes) - max_processes + max_processes×2 + 10×實例數 | set semsys:seminfo_semmns=200 |
| semopm | 單次 semop 最大操作數 | 100 | set semsys:seminfo_semopm=100 |
| semvmx | 訊號量最大值 | 32767 | set semsys:seminfo_semvmx=32767 |
假設兩個實例:Instance A (processes=150),Instance B (processes=200)。
semmsl = 10 + 200 = 210
semmns = (150+200) - 200 + 200×2 + 10×2 = 150 + 400 + 20 = 570
/etc/system 後重啟:rebootsysdef -imodload /kernel/sys/shmsysORA-27102 (out of memory) 或 ORA-7279 (semaphore) 則需再調大參數。MEMORY_TARGET 自動管理,減少手工調校需求。