$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

サーバで動いているプロセスを知るために使ったコマンド

 今日会社の開発サーバでhitode君と遊んでて、動いているプロセスを調べていたのでメモ。

動いているプロセスを知りたい

基本的。

ps ax

ps auxとかすると、メモリ使用量とかいろいろ見れる。

動いているプロセスの関係も含めて知りたい

pstreeコマンドでできる。とりあえずどんな感じに実行されているかサマリーを知りたい時は以下のコマンド。

pstree

いろいろ折りたたまれているので、それを展開したい時は-cをつける。

pstree -c

コマンドの引数とかも表示したい時は-aつける

pstree -ac

pidを知りたい時は-pつける

pstree -acp

表示してみると{}で囲まれているやつがあるけど、これは多分threadなんだろうと思う。linuxではthreadのidはpidのように管理されているみたい。

メモリやCPUを消費しているプロセスを知る

topとかでいろいろできるみたい。

普通に1秒感覚でサーバの状態を知る。

top -d 1

起動している状態でshift+mを押すと、メモリ使用量でソートされる。
shift+pだとCPU使用量でソートされる。
shift+oを押すといろんなソートができる。

thread単位のメモリ使用量とか見たい

ps auxww -L

auxはいつもどおり。w一つつけると幅広表示。w2つつけると幅無制限表示。-Lをつけることでthreadも表示することができる。あとはgrepとかしたらOK。