読者です 読者をやめる 読者になる 読者になる

$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

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

tech

 今日会社の開発サーバで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。