sourCEntral - mobile manpages

pdf

SLABINFO

名前

/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.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man−pages/ に書かれている。

pdf