平板电脑报告的不同缓存是什么?

Ben*_*Ben 4 linux

有谁知道我可以在哪里获得对 Linux 上的 Slabtop 报告的内存缓存的不同内核对象的描述?例如是什么filpradix_tree_node等等?

slm*_*slm 6

背景

报告的板坯slabtop很难量化到特定的内核模块,因为它们被合并为单一类型,这些类型基于它们与其他对象在它们持有的对象方面的相似性而重叠。

摘录 - /proc/slabinfo 并不能完全告诉您它的样子

具体来说,在现代 Linux 上,slabinfo 中显示的名称基本上是一个提示,因为内核中的当前slab 分配器将多个slab 类型合并在一起,如果它们足够相似的话。如果五个不同的子系统都想分配(不同的)没有特殊属性的 128 字节对象,它们不会每个都获得带有单独slabinfo 条目的单独slab 类型;相反,它们都被合并为一种平板类型,因此是一个平板信息条目。该slabinfo条目通常显示其中一个的名称,可能是第一个设置的,没有直接暗示它也包括所有其他人的用法。

(其他的根本没有出现在slabinfo中。)

本文继续讨论由于上述合并,通常情况下,slab 缓存类型根本不会出现在/proc/slabinfo. 您可以通过查看此处看到其中的一些效果:/sys/kernel/slab。该目录以符号链接的形式显示了哪些slab 缓存正在与其他slab 缓存合并。

 SS1   s2

左侧的图像显示了来自目录的链接(浅蓝色),这些链接/sys/kernel/slab正在合并到其他板块中。右图显示了所有正在合并到:t-0000256Slab 中的缓存。

履带板

如果我们继续查看/sys/kernel/slab目录:

$ ls -l /sys/kernel/slab/  | grep filp
lrwxrwxrwx 1 root root 0 Aug  5 21:23 filp -> :t-0000256
Run Code Online (Sandbox Code Playgroud)

这就是filp你要问的。要了解更多信息,您可能想尝试安装slabinfoCLI。

平板信息

我没有这个 CLI 可用于在 CentOS 7.x 上进一步分类,但你可能想研究它。编译此 CLI 可让您访问slabinfo -a显示在 下与板关联的别名/sys/kernel/slab。我相信您正在寻找的这些别名将有助于将slabtop.

参考:Linux 内核中的 Slab 分配器:SLAB、SLOB、SLUB

SS3

参考