有谁知道我可以在哪里获得对 Linux 上的 Slabtop 报告的内存缓存的不同内核对象的描述?例如是什么filp
,radix_tree_node
等等?
报告的板坯slabtop
很难量化到特定的内核模块,因为它们被合并为单一类型,这些类型基于它们与其他对象在它们持有的对象方面的相似性而重叠。
具体来说,在现代 Linux 上,slabinfo 中显示的名称基本上是一个提示,因为内核中的当前slab 分配器将多个slab 类型合并在一起,如果它们足够相似的话。如果五个不同的子系统都想分配(不同的)没有特殊属性的 128 字节对象,它们不会每个都获得带有单独slabinfo 条目的单独slab 类型;相反,它们都被合并为一种平板类型,因此是一个平板信息条目。该slabinfo条目通常显示其中一个的名称,可能是第一个设置的,没有直接暗示它也包括所有其他人的用法。
(其他的根本没有出现在slabinfo中。)
本文继续讨论由于上述合并,通常情况下,slab 缓存类型根本不会出现在/proc/slabinfo
. 您可以通过查看此处看到其中的一些效果:/sys/kernel/slab
。该目录以符号链接的形式显示了哪些slab 缓存正在与其他slab 缓存合并。
左侧的图像显示了来自目录的链接(浅蓝色),这些链接/sys/kernel/slab
正在合并到其他板块中。右图显示了所有正在合并到:t-0000256
Slab 中的缓存。
如果我们继续查看/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
你要问的。要了解更多信息,您可能想尝试安装slabinfo
CLI。
我没有这个 CLI 可用于在 CentOS 7.x 上进一步分类,但你可能想研究它。编译此 CLI 可让您访问slabinfo -a
显示在 下与板关联的别名/sys/kernel/slab
。我相信您正在寻找的这些别名将有助于将slabtop
.
归档时间: |
|
查看次数: |
3651 次 |
最近记录: |