Поправьте меня, если я ошибаюсь, но команда 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