徒然な覚書さんの所で、Window Manager のメモリー使用量の言及
徒然な覚書 : WindowLab より 2006 年 7 月 29 日に引用メモリ使用量を比べると Fluxbox=6~7MB に対して、WindowLab=300~600KB なので、リソースが乏しいザウルスには最適。
があったので、自分の使ってる sawfish についても調べてみようとして、ハタと困った。プロセスごとのメモリー使用量の調べ方が分かんない。
というわけで、メモリー使用量を調べる方法をメモ。
ps alx
調べ方は、分かってしまえば簡単。次のコマンドを実行する。
$ ps alx
すると、ズラーと次のような結果が表示される。
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 4 0 1 0 16 0 1896 464 - S ? 0:06 init [5] 1 0 2 1 34 19 0 0 - SWN ? 0:11 [ksoftirqd/0] 1 0 3 1 5 -10 0 0 - SW< ? 0:07 [events/0] 1 0 4 3 5 -10 0 0 - SW< ? 0:00 [kblockd/0] 1 0 6 3 6 -10 0 0 - SW< ? 0:00 [khelper] 1 0 5 1 15 0 0 0 - SW ? 0:00 [khubd] 1 0 7 3 15 0 0 0 - SW ? 0:27 [pdflush] 1 0 8 3 15 0 0 0 - SW ? 0:09 [pdflush] 1 0 10 3 13 -10 0 0 - SW< ? 0:00 [aio/0] ... (続く)
ここで、RSS と表示されているのが、メモリーの使用量 (単位は kB)。
この中から、目当てのコマンド (プロセス) を grep で抜き出してやればいい。ヘッダー部分を残すなら、こんな感じ。
$ ps alx | head -1 && ps alx | grep sawfish F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 0 666 3173 3147 15 0 11596 4976 - S ? 1:16 sawfish 0 666 4185 1733 23 5 5708 716 - RN pts/507 0:00 grep sawfish
もしくは、RSS 部分だけを抜き出すなら、
$ ps alx | grep sawfish | awk '{printf ("%d\t%s\n", $8,$13)}' 4976 sawfish 716 grep
という感じかな。
で、結果だけど、sawfish のメモリー使用量は約 5 MB。WindowLab 程低くはないけど、Fluxbox よりは少しましかな。
RSS
最後に、RSS とは何か?
どうやら、Resident Set Size の略らしい。常駐セット (Resident set) は、「物理メモリーに常駐するページ」のことを指すそうで、つまり素人考えをすればメモリーの使用量とみなしてよいのかな。
最近は、RSS フィードがメジャーになったもんだから、(メモリーの) RSS の説明を探すのも大変!
ps + grep で目的のプロセスだけの情報を抜き取るとき
ReplyDeletegrep sawfish
ではなく
grep [s]awfish
とすると grep の情報が出ないので便利ですよ。
おおっ。そんな Tips があったとは!
ReplyDeleteありがたく使わせて頂きます m(_ _)m。
# 記事も、後程、修正します。
> # 記事も、後程、修正します。
ReplyDelete記事は修正せず、新しく記事を書き起こしました。
- clmemo@aka: ps + grep の Tips