これは基本的なLinux管理の質問です。本番アプリケーションを実行するCentOS Linuxボックスがあります。このマシンでは、10のアプリケーション固有のプロセスが実行されています。Once in every 3/4 days, the linux machine freezes
これを復元する唯一の方法は、Amazon AWSコンソールからハードリブートすることです。
Amazon Cloudwatchを有効にして、5分ごとにCPU使用率をキャプチャしました。停止する前に、10〜15秒間CPUが100%(8コア)に達することがわかります。残念ながら、プロセスログファイルに情報が見つかりませんでした。
私たちは実際にどのようにポジショニングするのかwhich process out of those 10 processes is causing the linux server to freeze?
CPU/メモリを最も使用している状況をディスクに書き込むことができる単純なCPU/メモリ監視アプリケーションはありますか(例:2秒ごと)。犯人プロセスを特定するための他のアイデアを提供していただきありがとうございます。
答え1
top
単にバッチモードで実行し、出力をファイルに保存できます。
$ top -b -d 2 > /your/log/file &
-d 2
サンプリング期間です。これにより、多くのデータが生成されます。
-u
特定のユーザーのプロセスのみを一覧表示するオプションを使用するか、-p
アプリケーションプロセスを明示的に一覧表示するオプションを使用することもできます。
答え2
このリンクには、プロセスを監視するための複数(20)のツールが含まれています。top
もちろん、最も人気のあるツールですが、他のツールiotop
も便利です。iotop
最も多くのファイルシステムIOを使用するプロセスが表示されます。
http://www.tecmint.com/command-line-tools-to-monitor-linux-performance/