MySQLのブートプロンプトがバッファプールにメモリを割り当てることができません

環境:

障害:

64G innodb_buffer_pool_size mysqlの後に変更され、サーバ125G上の物理メモリの合計では、与えられて起動し、以下のテーマ:

その理由は、ほとんどメモリエラーが不足しています。

診断

60Gに調整しようとするinnodb_buffer_pool_size、データベースを開始することができ、それは、オペレーティングシステムのメモリ割り当て制限することを疑われた。私はすべての問題を見つけることができませんでした、慎重に後に公式サイトを参照して、問題はパラメータを調整していることを考えるようになりました。オペレーティングシステムの調査によって発見されたに/ proc / sys / vm / overcommit_memoryは2で、デフォルト値はゼロである必要があります。overcommit_memoryメモリ割り当てのコア戦略であり、慎重にこのパラメータを、おおよそ次のように定義を参照してください。

overcommit_memory = 0、カーネルプロセスを用いて、利用可能なメモリの十分な供給があるかどうかチェックする表し、十分な空きメモリが存在する場合、メモリの割り当てができ、そうでない場合、メモリの割り当てが失敗し、エラーがアプリケーション・プロセスに戻されます。

1 = overcommit_memoryかかわらず、現在のメモリ状態の、すべての物理メモリの割り当てを可能にするカーネルを表します。

overcommit_memory = 2、カーネルメモリは、物理メモリとスワップ領域のすべての合計よりも多くを割り当てることができるように表しています。

場合、一般的に全システムメモリのパーセンテージを表し、2 = overcommit_memory、特に仮想メモリの合計です。

メモリの合計= SwapTotal + MemTotal * overcommit_ratio、overcommit_ratioどこデフォルトは50%。

ソリューション

上記による診断後、溶液の/ proc / SYS / VM / overcommit_memory 0を変更することです。

エコー0>に/ proc / sys / vm / overcommit_memory

編集後、mysqlの再正常に起動することができ、この時間を開始します。

おすすめ

転載: www.linuxidc.com/Linux/2019-09/160671.htm