SHMMAX+ エラー 無効なカーネルパラメータ設定の影響

SHMMAX+ エラー 無効なカーネルパラメータ設定の影響

共有メモリに関するいくつかの単語

共有メモリを使用すると、プロセスは共有メモリセグメントに配置して共通の構造とデータにアクセスできます。プロセス間でデータを転送する際にカーネルの介入が発生しないため、最速形式のプロセス間通信が可能です。実際、プロセス間でデータをコピーする必要はありません。

Red Hatマシンの価値は以下のように膨大です。

 cat /proc/sys/kernel/shmmax
 17446744003692774391

 sysctl -a | grep kernel.shmmax
 kernel.shmmax = 17446744003692774391

ギガビットで計算すると - 16248546544.17632

論理的ですか? 、私たちは何かを逃しましたか?

マシンには、hadoopクラスタ用の64Gと16個のCPUがあります。

ベストアンサー1

これデフォルトshmmaxはい

#define SHMMAX (ULONG_MAX - (1UL << 24))

これは、オーバーフローのリスクを制限しながら、できるだけ大きく選択された上限です。

SHMMNI、SHMMAX、SHMALL はデフォルトの上限値であり、sysctl で変更できます。 SHMMAXとSHMALLの値は、「現在の制限検索、Xの追加、制限の更新」形式の操作で制限を調整するときのユーザースペースのオーバーフロー状況を促進することなく、できるだけ大きく選択されました。したがって、SHMMAXとSHMALLを大きく設定することはお勧めできません。これらの制限は32ビットおよび64ビットシステムに適用されます。

その値は現状のまま良好であり、エラーはありません。

おすすめ記事