/proc/sys/kernel/shmall 的解釋

/proc/sys/kernel/shmall 的解釋

除非我錯了。的值/proc/sys/kernel/shmall表示可以分配給系統的共享記憶體總量(以位元組為單位)。

我在t2.microec2 debian 實例上,我得到以下資訊:

$ cat /proc/sys/kernel/shmall
18446744073692774399

我不認為這意味著共享記憶體的可分配總量大約是0.02澤字節

答案1

是的,對於任何人來說都應該足夠了,定義為(ULONG_MAX - (1UL << 24)).但請注意,它不是每個進程的值,而是總體值。看http://elixir.free-electrons.com/linux/latest/source/include/uapi/linux/shm.h#L13

* SHMMNI、SHMMAX 和 SHMALL 為預設上限,可依需求修改
 * 由 sysctl 修改。 SHMMAX 和 SHMALL 值已選擇為
 * 在不促進用戶空間的場景的情況下盡可能大
 * 透過表單操作調整限制時會導致溢出
 *「檢索目前限制;新增X;更新限制」。因此它不是
 * 建議將 SHMMAX 和 SHMALL 做得更大。這些限制是
 * 適用於32位元和64位元系統。

相關內容