メモリとスワップスペースの両方が不足するため、「マイ」サーバーが停止することがあります。(pingに応答し続けますが、それ以上のものはなく、sshでも応答します)。
私は、Linuxがメモリオーバーコミットを行うと言われていますが、私が理解している限り、銀行がお金で行うのと同じです:実際に利用可能なメモリよりも多くのメモリをプロセスに付与します。ほとんどのプロセスは実際に要求するすべてのメモリを使用しないと仮定しています少なくともすべてが同時にではありません。
(参照のは、これが事実であるかどうかをここで議論しないようにしましょう、これは実際に、なぜ私のシステムは時折ハング原因であると仮定してください、まだ、まだpingに応答し?と方法を理解するには、サーバー上のすべてのサービスがダウンする可能性がありますどのような) 。
そう、
CentOSでメモリのオーバーコミットメントを大幅に無効化または削減するにはどうすればよいですか?vm.overcommit_memory(値0、1、または2)とvm.overcommit_ratiomと呼ばれる2つの設定があることを読みましたが、どこでそれらを見つけて変更する必要があるのかわかりません(いくつかの構成ファイル)。 、および変更を有効にするためにサーバーを再起動する必要があるかどうか。
そしてそれは安全ですか?どのような副作用が予想されますか?overcommit_memoryをグーグルで検索すると、サーバーが起動できなくなったという人のような恐ろしいことがわかりました。...
メモリ使用量の突然の増加を引き起こすのは、httpリクエストの処理中に呼び出されるphpによって行われるクエリのためのmysqlであるため、一部のphpスクリプトが完了できず、そのため時々500の応答が発生することが予想されるためです。サーバーがビジー状態であり、これは私が取ることができるリスクです(サーバー全体にアクセスできなくなり、ハードリブートする必要があることは確かに良いことです)。
または、間違った設定を選択すると、サーバーが本当に再起動できなくなる可能性がありますか?