Linuxエンジニア必見!htopとtopの見方を完全網羅:プロセス監視をマスターしよう
Explanation of everything you can see in htop/top on Linux (2019)
Explanation of everything you can see in htop/top on Linux (2019)
Linuxのパフォーマンス監視において欠かせない「htop」と「top」。これらのコマンドが表示する膨大な指標、あなたはすべて正確に把握できていますか?本稿では、システムリソースの状態を可視化するこれらツールの詳細な読み解き方について解説します。負荷状況を瞬時に判断し、ボトルネックを突き止めるためのスキルを習得しましょう。
2016年からずっとブックマークしていて、何年もの間何度も読み返してるよ。
HNが健全化に向かってるって感じてる人いる?このままHNが亡霊みたいに形骸化していかないことを願うよ。
topコマンドで > を使うとメモリ使用量でソートできるよ。ホストが重くなった原因を調べるときにたまに使ってる。あと、swapdがCPUを食ってるのが見えるはず。
htopを使うたびに設定変更してるんだけど、これがマジで変わるんだよね。
ユーザースレッドを非表示にする。大抵の場合、表示がごちゃごちゃするだけで役に立つ情報じゃないしね。
プロセスツリー表示を有効にする。プロセスがどこから来たかって、他の情報よりずっと大事なことが多いから。コンパイラがどのファイルを大量に読み込んでいるかとか、そういう動きを追えるようになるよ。
個人的には、どっちもhtopのデフォルト設定であるべきだと思う。
最近btop0に乗り換えたんだけど、こういうモダンなインターフェースで、実用的かつ情報量が多いツールを探してたんだ。
他の人も言ってるけど、消費電力(Watts)も表示できるみたいだね(ネットワーク、GPU、ディスクとかも全部)。
こういう記事を読むと、Linuxを20年以上日常的に使ってても、まだまだそのポテンシャルを全然引き出せてないなって実感するよ。素晴らしい記事だ。
仮想メモリが信頼できないっていう指摘はありがたいね。Windowsのタスクマネージャーがデフォルトで報告してくるのはまさにこれで、最悪だよ。レジデントサイズ(常駐サイズ)が一番信頼できる指標だね。それ以外は、何ら害のないメモリマップファイルみたいなやつに勝手に膨らまされる可能性がある。例えば、2GBのログファイルをメモリマップしても、その一部分を読むときにページインされるだけだから、実際はメモリを食ってない。でもユーザーはプロセスを見て「うわ、このアプリなんでこんなにメモリ食ってんの?」って騒ぐんだ。実際は全然食ってないのに。みんなメモリ使用量の見方を間違えてるんだよ。Chromeも一時この問題で悩んでたけど、メモリマップファイルを使うのをやめたんだ。メモリマップファイルが悪いんじゃなくて、実際は物理メモリをそれほど使っていなくても、ユーザーが数字を見てパニックになるからっていう理由でね。
ネット上には仮想メモリの割り当て量で判断しろなんてガイドまであるからね……。少なくともこの記事は正しく解説してて安心したよ。
「nmon」を知らない人は、ぜひチェックしてみて!(hキーを押すと利用可能なモニター一覧が出る。もう一度押すと消えて、qで終了できるよ)
https://nmon.sourceforge.io/pmwiki.php (https://nmon.sourceforge.io/pmwiki.php)
特にディスクスループットとI/O(dとDキー)はめちゃくちゃ便利だよ。
*topとは違う使い方で、最近気に入ってるのがこれ。psコマンドっぽい差分レポートや、システム全体のレポート(vmstatみたいなやつ)をターミナルのスクロールバックバッファに残せるんだ。これ:https://github.com/c-blake/procs (https://github.com/c-blake/procs) { 非常に効率的で表現力豊かなNim言語で書かれてるよ }