Поправьте меня, если я ошибаюсь, но команда top отслеживает только использование памяти приложениями, а не использование памяти, выделенной для ядра.
Как вы будете следить за использованием памяти, выделенной для ядра?
Ядро экспортирует эту информацию через / proc / slabinfo. Это не очень легко читать, поэтому есть инструмент slabtop (из procps, который вы, вероятно, уже установили).
Этот вызов я обычно использую, но проверьте страницу руководства, чтобы узнать, что еще он может сделать:
slabtop -s c
AFAIK, 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