1

最近、oom-killer がしばらくしてプロセスを強制終了し始めるという問題がありました。メモリが消費されていることはわかりましたが、サーバーに到達するまでに、何がメモリを消費したのかわかりませんでした。oom-killer に関するより多くの情報を入手するための、自明ではない適切な場所はありますか? たとえば、アクティブ化時のプロセスに関する詳細情報、強制終了されたプロセスに関する詳細情報、および選択の理由は?

この情報を見つけるための特定の場所、それを収集するための特定のツール、または oom-killer レポートを改善するための構成を探しています。oom-killer に関する一般的な情報を探しているわけではありません。/var/messages にはデフォルトで、空きメモリまたは割り当てられたメモリに関する詳細なレポートのみが含まれますが、割り当てられた特定のプロセスは含まれません。

4

3 に答える 3

2

メッセージログファイルをチェックして、どのプロセスが強制終了されたか、およびいくつかの関連情報を確認できます。理由として:

...清算の理想的な候補は、最近開始された非特権プロセスであり、その子と一緒に多くのメモリを使用し、優れており、生のI/Oを実行しません。nohupされた並列カーネルビルドのようなもの(すべての結果がディスクに保存され、「make」が終了してもほとんど作業が失われないため、これは悪い選択ではありません)。

ここから。

キラーの影響を受けないようにいくつかのプロセスを定義し、swappinessパラメーターが低すぎる場合に調整して(キラートリガーを幸せにする)、ここにリストされているものを確認できます

于 2008-09-23T09:21:13.973 に答える
1

通常、/ var / log / messagesにメッセージが表示され、oom-killerによって強制終了されたプロセスに関連する非常に多くの詳細が含まれているはずです。

于 2008-09-23T09:17:50.407 に答える
1

これはあなたの質問に対する正確な答えではありませんが、malloc(3)Linux のマニュアル ページには、メモリのオーバーコミットをオフにする方法に関する情報がいくつかあります。

echo 2 > /proc/sys/vm/overcommit_memory
于 2008-09-23T09:38:22.637 に答える