EN JA
SLABINFO(5)
SLABINFO(5) Linux Programmer's Manual SLABINFO(5)

名前

/proc/slabinfo -カーネル slab アロケータの統計

書式

cat /proc/slabinfo

説明

Linux カーネルの内部で良く利用されるオブジェクト (バッファヘッド、i-ノード、ディレクトリ・エントリなど) は、それぞれ自分用のキャッシュを備えている。ファイル /proc/slabinfo はこれらの統計を与える。例を示す。



% cat /proc/slabinfo
slabinfo - version: 1.1
kmem_cache 60 78 100 2 2 1
blkdev_requests 5120 5120 96 128 128 1
mnt_cache 20 40 96 1 1 1
inode_cache 7005 14792 480 1598 1849 1
dentry_cache 5469 5880 128 183 196 1
filp 726 760 96 19 19 1
buffer_head 67131 71240 96 1776 1781 1
vm_area_struct 1204 1652 64 23 28 1
...
size-8192 1 17 8192 1 17 2
size-4096 41 73 4096 41 73 1
...

それぞれの slab キャッシュごとに、キャッシュの名前、現在アクティブなオブジェクトの数、利用可能なオブジェクトの総数、各オブジェクトのサイズ (バイト単位)、少なくとも一つのアクティブなオブジェクトを有するページの数、アロケートされたページの総数、 slab あたりのページ数、が与えられている。

 

なお、オブジェクトのアラインメントと slab キャッシュのオーバーヘッドとにより、オブジェクトは通常ページの内部にきっちりとは収められていない。利用中のオブジェクトをひとつでも保持しているページは、利用中であるとみなされ、解放できない。

 

slab キャッシュ統計の機能を有効にしてコンパイルされたカーネルでは、出力の最初の行に "(statistics)"と表示され、 5 つのカラムが追加される。それぞれ、アクティブなオブジェクトの瞬間最大値、オブジェクトがアロケートされた回数、キャッシュの大きさが拡張された (新しいページがこのキャッシュに追加された) 回数、キャッシュの大きさが縮小された (使っていないページがこのキャッシュから削除された) 回数、新たなページをこのキャッシュにアロケートする際に起きたエラーの回数、である。 slab キャッシュ統計が使えないカーネルでは、これらのカラムは表示されない。

 

SMP システムでは、出力の最初の行に "(SMP)"と表示され、各 slab ごとに 2 つのカラムが追加される。これらは各 CPU が持つローカルなキャッシュ (per-CPU キャッシュ) の slab アロケーションポリシーを表示する (per-CPU キャッシュは、オブジェクトをキャッシュからアロケートする際に CPU 間での同期を減少させるために設けられている)。最初のカラムは per-CPU 制限、すなわち各 CPU ごとにキャッシュできるオブジェクトの最大数である。二番目のカラムはバッチカウント、すなわち per-CPU キャッシュが空だったり一杯だったりした場合に、グローバルなキャッシュと受け渡しできるフリーなオブジェクトの最大数である。

 

slab キャッシュ統計と SMP が両方有効になっている場合は、 per-CPU キャッシュの統計を表示する 4 つのカラムがさらに追加される。最初の 2 つは per-CPU キャッシュのアロケーションヒットカウントとアロケーションミスカウントである。すなわち、あるオブジェクトをアロケートしたときに、それが per-CPU キャッシュの内部にあった/なかった回数である。続く 2 つは、per-CPU キャッシュのフリーヒットカウントとミスカウントである。すなわち解放されたオブジェクトをグローバルなキャッシュにフラッシュする前に、 per-CPU キャッシュの制限の範囲に収まった/収まらなかった回数である。

 

SMP において per-CPU slab キャッシュの制限値やバッチカウントを変更するには、以下のようにすればよい:

 



echo " cache_name limit batchcount" > /proc/slabinfo

ファイル

<linux/slab.h>

バージョン

/proc/slabinfo は Linux 2.1.23 以降に存在する。 SMP における CPU ごとのキャッシュは Linux 2.4.0-test3 以降に存在する。

注意

Linux 2.6.16 以降では、 /proc/slabinfo ファイルは、カーネル設定オプション CONFIG_SLAB を有効にした場合のみ存在する。

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2007-09-30