linux

プロセス毎のswap使用量を計測するパッチを読む その7

「プロセス毎のswap使用量を計測するパッチを読む その6」の続き。 カーネルコードを追える部分、追えない部分が分かってきたので、残りのパッチエントリは簡単に見て最後とします。 @@ -648,11 +653,11 @@ static int copy_pte_range(struct mm_stru pte_t …

プロセス毎のswap使用量を計測するパッチを読む その6

「プロセス毎のswap使用量を計測するパッチを読む その5」の続き。 copy_one_pte copy_one_pte関数の最後の数行です。 mm/memory.c page = vm_normal_page(vma, addr, pte); if (page) { get_page(page); page_dup_rmap(page); rss[PageAnon(page)]++; } out…

プロセス毎のswap使用量を計測するパッチを読む その5

「プロセス毎のswap使用量を計測するパッチを読む その4」の続き。 copy_one_pte copy_one_pte関数の続き。前回はページエントリがスワップページであった場合でしたが、今回は物理ページ上にあるかどうかは関係ない部分の処理となります。mm/memory.c /* * …

プロセス毎のswap使用量を計測するパッチを読む その4

「プロセス毎のswap使用量を計測するパッチを読む その3」の続き。 copy_one_pte copy_one_pte関数の続き。前回は、コピー対象のページがスワップエントリである場合、コピー元のスワップページの参照カウントをインクリメントする、というところまででした…

プロセス毎のswap使用量を計測するパッチを読む その3

「プロセス毎のswap使用量を計測するパッチを読む その2」の続き。 ページテーブル Linuxのページ変換テーブルは以下の要素で構成されています。 ページ変換テーブル ページグローバルディレクトリ(page) ページアッパーディレクトリ(pud) ページミドルディ…

プロセス毎のswap使用量を計測するパッチを読む その2

「プロセス毎のswap使用量を計測するパッチを読む その1」の続き。 パッチエントリ mm_types.h Index: mm-test-kernel/mm/memory.c =================================================================== --- mm-test-kernel.orig/mm/memory.c +++ mm-test-…

プロセス毎のswap使用量を計測するパッチを読む その1

「show per-process swap usage via procfs」の続き。パッチの内容を追っていきながら、kernelのソースコードを読んでみたいと思います。 パッチエントリ mm_types.h Index: mm-test-kernel/include/linux/mm_types.h =====================================…

CScope

Linux Kernelのコードを読んでみようと思ったものの、さすがにgrepのみで読んでいくのはつらそうなので何かツールを探してみたところ、CScopeというツールがありました。 CScopeは、Cで書かれたソースコードからDBを作成し、それをVimやEmacsから利用するこ…

iostat

I/Oを測定する為のお馴染みのコマンドですが、使い方をなかなか覚えられないのでメモ。大きく、CPU、デバイスI/Oのおのおのの使用率を計測するすることができます。 CPUの使用率の計測 「-c」でCPUの使用率をレポート。 The report consists of a CPU header…

adduser

adduserで--systemと指定すると、systemユーザを作ることができる。systemユーザっていうスキームがあるんですね。付与されるUIDの範囲以外に何か違うんだろうか。 adduser will choose the first available UID from the range specified for system users …