/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 ビット システムの両方に適しています。

関連情報