1) topの各パラメータの意味などの解説が詳しく載っているページ
2) topの内容をtextファイルに吐き出す方法。
大抵のコマンドの説明は man で調べられるのは御存知でしょうか。
# man top
で基本的な内容は調べてみてください。
直接 top を詳細に解説している場所は見当たらなかったのですが、プロセスの監視の中ほどに比較的説明されています。
さて、top は一定間隔でプロセスの情報を表示するので、テキストに出力するのには向きません。
そのような場合は ps コマンドを使用すると良いでしょう。
出力を、sortすればtopと同様の結果が取得できます。
このときCPUを消費している順にしたいのか、メモリを消費している順にしたいかなどによってソートのキー位置を変更します。
例えば、
# ps auxw ← 全てのユーザが実行しているプロセスを詳細に表示 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 780 412 ? S 12:53 0:06 init [3] root 2 0.0 0.0 0 0 ? SW 12:53 0:00 [kflushd] root 3 0.0 0.0 0 0 ? SW 12:53 0:00 [kpiod] root 4 0.0 0.0 0 0 ? SW 12:53 0:00 [kswapd] bin 199 0.0 0.5 768 280 ? S 12:54 0:00 portmap root 211 0.0 0.9 824 432 ? S 12:54 0:01 syslogd root 218 0.0 1.4 1092 660 ? S 12:54 0:00 klogd root 227 0.0 0.8 812 416 ? S 12:54 0:00 crond root 237 0.0 0.8 796 376 ? S 12:54 0:00 inetd root 257 0.0 1.4 1444 668 ? S 12:54 0:05 named wnn 266 0.0 4.0 3068 1904 ? S 12:54 0:01 /usr/bin/jserver root 280 0.0 1.2 1540 592 ? S 12:54 0:03 sendmail: accepti
のような場合、消費メモリ(4列目)でソートするなら
# ps auxw | sort -k 4
のような場合、CPU で(3列目)でソートするなら
# ps auxw | sort -k 3
となります。
これをファイルに保存するには、リダイレクトでファイルに出力します。
# ps auxw | sort -k 3 > ~/process_info.txt
御存知かもしれませんが、 ~ は自分のホームディレクトリを示します。
なので、process_info.txt というファイルが、自分のホームディレクトリに保存されます。
ファイル名だけを指定すれば、コマンドを実行したフォルダに保存されます。
HP社の解説サイトですが、参考になりますでしょうか?
http://h50221.www5.hp.com/cgi/service/knavi/production/doc_disp....
topの結果をファイルに保存する方法
top -f <filename>
同ページに各パラメータの解説も載っています。
1) topの各パラメータの意味などの解説が詳しく載っているページ
とりあえずmanを。
http://www.linux.or.jp/JM/html/procps/man1/top.1.html
ここの、「2a. フィールドの説明」です。
実際どのような計算をしているかというので先日、naoyaさんがCPUとロードアベレージについて解説しています。
http://d.hatena.ne.jp/naoya/20070222/1172116665
2) topの内容をtextファイルに吐き出す方法。
これは、「-b」オプション(バッチモード操作)で可能です。
「-n」オプションを指定しないと無制限に実行されてしまいますので注意が必要です。
具体的にテキストに書き出す方法だと、
「top -b -n1 > ファイル名」で1回分を指定したファイルに書き出します。
コメント(0件)