ablog

不器用で落着きのない技術者のメモ

LINUXカーネルHACKS

Linuxカーネル Hacks ―パフォーマンス改善、開発効率向上、省電力化のためのテクニック

Linuxカーネル Hacks ―パフォーマンス改善、開発効率向上、省電力化のためのテクニック

図書館で借りてきた本。買いたい本だが、たしか会社にあったので必要な時は会社で借りよう。
返却する前に crash コマンドで気になったところをメモしておく。


P.401

crash コマンドはカーネルイメージの解析が可能なデバッグツールです。gdb コマンドをベースに設計されており、カーネル内部の各種情報を参照するために多くのコマンドを駆使して、対話的に作業を進めることができます。


P.406

btコマンド

...

-f オプションはフレーム内のスタックデータをすべて表示します。このオプションは関数への引数を確認するときに便利です。-l オプションはファイル名と行数を表示します。


P.409

kemem コマンド
カーネルのメモリ使用量に関する情報を表示します。-s オプションはスラブキャッシュの情報を表示します。/proc/slabinfo と同等の情報になります。

...

-i オプションは、メモリ全体の利用状況を表示します。

...

-p オプションでメモリマップを表示します。


P.413

runq コマンドはプロセススケジューラのランキューに繋がっているプロセス(実行中プロセス)を表示します。


runq コマンドだけ試してみた。

crash> runq
CPU 0 RUNQUEUE: c170e780
  CURRENT: PID: 13000  TASK: e8c48aa0  COMMAND: "crash"
  ACTIVE PRIO_ARRAY: c170ec3c
     [115] PID: 13000  TASK: e8c48aa0  COMMAND: "crash"
           PID: 12932  TASK: f7384000  COMMAND: "sshd"
     [117] PID: 13113  TASK: cfccf000  COMMAND: "less"
     [125] PID: 13108  TASK: e8c48550  COMMAND: "perl"
           PID: 13107  TASK: cfccf550  COMMAND: "perl"
  EXPIRED PRIO_ARRAY: c170e7c4
     [no tasks queued]