核心引數kernel.shmall和kernel.shmmax

滴滴滴發表於2024-06-16

在Linux系統中,核心引數kernel.shmallkernel.shmmax與共享記憶體(System V共享記憶體)有關,它們分別定義了系統可以分配的共享記憶體段的最大頁數和單個共享記憶體段的最大位元組數。以下是一些關於這些引數的推薦設定:

  1. kernel.shmall:這個引數控制可以使用的共享記憶體的總頁數。Linux共享記憶體頁的大小通常是4KB。因此,kernel.shmall的值通常設定為系統的實體記憶體大小除以頁的大小。例如,如果系統有16GB的記憶體,那麼kernel.shmall可以設定為16GB * 1024 * 1024 / 4KB = 41943043。

  2. kernel.shmmax:這個引數定義了單個共享記憶體段的最大位元組數。對於32位系統,最大值通常是4GB(4294967295位元組);對於64位系統,理論上可以設定為實體記憶體大小減去1位元組。但是,實際設定時,建議值通常大於SGA_MAX_SIZE或MEMORY_MAX_TARGET的值,特別是對於安裝了Oracle資料庫的系統,kernel.shmmax的值應該比記憶體的一半大一些28。

相關文章