labtopが報告したさまざまなキャッシュは何ですか?

labtopが報告したさまざまなキャッシュは何ですか?

Linuxでslabtopが報告したさまざまなカーネルオブジェクトのメモリキャッシュの説明をどこで取得できるかを知っている人はいますか?たとえば、背中は何filpですかradix_tree_node

答え1

背景

報告されたボードは、slabtop他のモジュールと保持するオブジェクトの類似性に基づいて重複する単一のタイプに結合されるため、特定のカーネルモジュールに数量化することは困難です。

抜粋/proc/slabinfoは、それがどのように見えるかをよく知らない。

特に、最新のLinuxでは、slabinfoに表示される名前はデフォルトでヒントです。カーネルの現在のスラブアロケータ複数のボードタイプが十分に似ている場合は、一緒にマージされます。 5つの異なるサブシステムがすべて特別な属性なしで(異なる)128バイトのオブジェクトを割り当てようとする場合は、それぞれ別々のlabinfoエントリを持つ別々のスラブタイプを取得せず、すべて1つのスラブタイプにマージしてslabinfoエントリを形成します。 。 slabinfoエントリは通常、他のすべてのエントリの使用も含むことを直接暗示せず、そのうちの1つ(おそらく最初に設定されるエントリ)の名前を表示します。

(他のものはslabinfoにまったく現れません。)

この記事では、上記のマージによってスラブキャッシュタイプがまったく表示されないことが多いことについて説明します/proc/slabinfo。ここを見ると、この効果のいくつかを確認できます/sys/kernel/slab。このディレクトリは、どのスラブキャッシュがシンボリックリンクで他のキャッシュとマージされるかを示します。

 SS1  s2

左の画像は、/sys/kernel/slab別のボードにマージされたディレクトリへのリンクを示しています(薄い青)。右の画像は、スラブにマージさ:t-0000256れたすべてのキャッシュを示しています。

トラックボード

/sys/kernel/slabディレクトリを見続けると、次のようになります。

$ ls -l /sys/kernel/slab/  | grep filp
lrwxrwxrwx 1 root root 0 Aug  5 21:23 filp -> :t-0000256

filpお問い合わせいただいた内容です。詳しくは、slabinfoCLIをインストールしてください。

ボード情報

CentOS 7.xでさらに並べ替えることができるこのCLIはありませんが、見たいと思うかもしれません。このCLIをコンパイルすると、slabinfo -a次のボードに関連するエイリアスを示す情報にアクセスできます/sys/kernel/slab。私はあなたが探しているこれらのエイリアスが相関に役立つと信じていますslabtop

引用:Linuxカーネルのスラブアロケータ:SLAB、SLOB、SLUB

SS3

引用する

関連情報