2012-03-31から1日間の記事一覧

topのソースコードリーディング

プロセス毎の統計情報をどのように監視, 管理いるのかを知るために, まずはtopコマンドのソースコードから順番にカーネルまで調べていきたい. 最初に,topのソースコードでprocessの情報を取得している部分を探した.1. window_show関数は画面に収まる範囲…

vmstatのソースコードリーディング3

kernel_stat構造体はcpu_usage_stat構造体, irq配列, 割り込みの合計値, softirqの配列を保持しており, DECLARE_PER_CPUでCPU毎に保持されている.1. include/linux/kernel_stat.hで外部関数としてaccount_***_timeの関数が定義されている. 2. 実際の関数…

vmstatのソースコードリーディング2

/proc/statの出所を探す. 1. /proc/statはfs/proc/stat.cのproc_stat_init関数で生成されている. proc_create("stat", 0, NULL, &proc_stat_operations); (statカーネルモジュールでは, fileのopen, raed, llseek, releaseをそれぞれ定義している) 2. /proc/…

vmstatのソースコードリーディング

普段何気なく使っているvmstatの仕組みについて, 調べてみた. (ソースはprocps-3.2.8.tar.gzを利用)1. vmstat(オプションなし)はgetstat関数を呼び出して出力する情報を得ている. 2. getstat関数は/proc/statを読み取っている 2-a: /proc/statの読み方 参考…