web-dev-qa-db-ja.com

18%の使用率でメモリ不足:RAMはどこに行きますか?

これは以下に関連しています: 72%の使用率でメモリ不足

それは同じ問題のように見えますが、質問は少し異なります:私の記憶はどこに行きますか?私は18%のメモリ使用量を持っており、私のOOMKillerは10分ごとにmysqldを強制終了しています。

私はいくつかの情報を集めることができました:

1-ありがとう https://serverfault.com/a/619681/18234 OOMKillerのレポートが見つかりましたDMA35 + DMA +通常の使用率は96%である(レポート https://Pastebin.com/UJUiSsSi )...)ので問題があることを示します。 ..

2-OOM Killerのプロセスリスト: https://Pastebin.com/yYTD4QzW

3-無料、top、htop、およびその他のツールは、最大18%のRAM使用量を示しています。これがトップソーティングRAMの使用法です( https://Pastebin.com/DEDV1HWb

4-free -mは、RAMの問題について何も伝えません:

              total        used        free      shared  buff/cache   
available
Mem:           6809         414         470         201        5924        5825

(この仮想マシンにはスワップがなかったので、スワップを追加しましたが、何も変更されていません。スワップは使用されていません)

5(編集):Daniel Gordiのおかげで、バフ/キャッシュfree && sync && echo 3 > /proc/sys/vm/drop_caches && freeをクリーンアップし、echo f > /proc/sysrq-triggerを使用して手動でoom-killerを実行しました。 。そして、WTF、oom-killer ramレポート(DMA35 + DMA + Normal)は、予想されるRAM使用量を示しています:18%!buff/cacheはOSが必要なときに利用できることを意味するといつも思っていました-それ...

ラムが食べられる理由と場所は?

(この問題が発生するため、本番サーバーは本当に不安定なので、そこで助けが得られることを本当に望んでいます:(ありがとう)

4
Ifnot

誰かが解決策のためにここに来る場合、これは更新です:

すべての構成変更をロールバックし、サーバーを再起動しました。 2か月以降、サーバーは正常に見え、問題は解消されました。

ここで何が起こったのかわからない...

1
Ifnot

RAM with ps aux --sort -rssを使用してどのプロセスを見つけてください。
free -mのサーバーの出力に関してRAMはバッファリング/キャッシュされました。次のコマンドでキャッシュをクリアしてみてください:
# free && sync && echo 3 > /proc/sys/vm/drop_caches && free

1
Daniel Gordi