如果我错了,请纠正我,但 top 命令只监视应用程序的内存使用情况,而不是专用于内核的内存使用情况。
您将如何监控内核专用内存的使用情况?
答案1
内核通过 /proc/slabinfo 导出这些信息。这些信息不太容易读取,因此还有一个 slabtop 工具(来自 procps,您可能已经安装了它)。
我通常使用这个调用,但请查看手册页以了解它还能做什么:
slabtop -s c
答案2
据我所知,SLAB 是内核的几个内存分配器之一
内核使用更多内存
看"smem -twk"
例如,ubuntu 桌面
# smem -twk
Area Used Cache Noncache
firmware/hardware 0 0 0
kernel image 0 0 0
kernel dynamic memory 1.1G 802.0M 299.7M
userspace memory 2.2G 218.1M 2.0G
free memory 440.1M 440.1M 0
----------------------------------------------------------
3.7G 1.4G 2.3G
# slabtop -s c
Active / Total Objects (% used) : 486431 / 618408 (78,7%)
Active / Total Slabs (% used) : 17621 / 17621 (100,0%)
Active / Total Caches (% used) : 77 / 108 (71,3%)
Active / Total Size (% used) : 157060,61K / 182206,62K (86,2%)
Minimum / Average / Maximum Object : 0,01K / 0,29K / 8,00K