最近、当社のメインサーバーにダウンタイムが多く発生しています。私や他の管理者が知らない理由で、メモリがランダムに(そして非常に突然)爆発します。すべてのメモリを使用するため、応答がなくなり、再起動する必要があります。とても迷惑です。これはDebianシステムです。 Squeezeや他のものにアップグレードしておらず、長い間完全に安定していました。
問題は、ログがまったく役に立たないことです。彼らは何も間違っていたことを示さないようだった。一部のプロセスにバグがあり、メモリをすべて占めているようですが、現在ではこれを証明できません。リモートロギングは何も文句を言わないので役に立ちません。すべてが大丈夫だと思います。
だから私の質問はこんな感じです。この問題をどのように解決しますか?どんな洞察力でも感謝します。ありがとうございます。
答え1
上リソース使用量の監視と記録に非常に熟練しています。インタラクティブまたはサービスとして使用できます。Debian パッケージ10分ごとに/var/log/atop.logに記録するように設定します(より正確な情報については/etc/init.d/atopを編集してください)。その後、atop -r /var/log/atop.log -b hh:mm -mM
;を使用してログを再生できます。 mMは、メモリの問題に適したビューとソートを選択します。 hh:mmはイベントが発生する数分前でなければならず、tTを使用してナビゲートします。カテゴリAを試してみることもできます。
答え2
/etc/security/limits.conf(pam_limits) を使用すると、プロセスごとのアドレス空間 (as) とユーザーあたりのプロセス数 (nproc) を制限できます。これにより、コンピュータが完全に応答しなくなるのを防ぐのに役立ちます。 、大声で死んで(または問題を引き起こしている人が自分のものがもう機能しないと文句を言う)、実際の原因を見つけることができます。
答え3
最初のステップは、メモリ使用量を監視することです。top
できますが、Linux版は設定が苦手です。top
という実行可能ファイルのコピーを作成しますtop-mem-chris
。これを実行し、いくつかの合理的なパラメータを設定し、少なくともメモリ使用量に基づいてソートし()、上位N個のジョブのみをM
表示します(n 15
)。その後、設定ファイル(W
)を生成します~/.top-mem-chrisrc
。監視するにはを実行してみてくださいtop-mem-chris -b -d 5 >~/log/top-mem-mainserver.log
。アツァール、適切に見えますが、説明以外はよくわかりません。
答え4
機械に実際のヘッドがある場合(可能性なし)、フレンドリーなデータセンター施設の技術者にcaps lock一般的な直接接続キーボードを押してください。 x86プロセッサがまだ割り込みを処理している場合は、正常に動作します。これが機能しないと、機械が破損する可能性があります。消灯カード、ip kvm、ps / 2、usbなどのようないくつかの極端なケースがあると思います。
利用可能なディスク容量、クローン、メールスプール、ルートキットなどの一般的な事項を確認してください。また、PSU、mem、NFS/iSCSI/FC 割り込みなどの破損したハードウェアがさまざまなタスクを実行するのを見ました。 (ヒント:ハードウェアセルフテストはほとんど常に役に立ちません。)
他の場所で言及されていない場合:
- 循環傾向
sar
- ディスクIO
iostat ALL -p ALL
- ディスク使用量
df -h
- ネットワーク活動
iftop
- ネットワークパケット
sudo tcpdump
- メモリ
free -lmt
- メモリ老化テスト:記憶力テスト 86+
- 上部強化
htop
- 親切さの核心
slabtop
上部のより美しいキー:
- 10個のアップデート/秒d
0.1
enter - SMPビューの切り替え1
- カラースイッチz
- ハイライトの並べ替えx
- 実行中のジョブの強調表示の切り替えy
- 次の左の列に基づいて並べ替え<(通常shift+ ,)
- 次の右側の列に基づいて並べ替え>(通常はshift+ .)
- 太字ソート切り替えshift+b
- 太字に切り替えb
- 昇順ソート - >降順shift+r
合理的に予想される場合、将来/ /tmp /var /var/log /var/tmp /var/spool /usr /usr/local /opt /home ...
の特定の時点でシステムがシャットダウンするのを防ぐために、重要なディレクトリを別々のマウントポイントに分割することが重要です。