Ядро трохи помилково. Ядро Linux складається з декількох процесів / потоків + модулів ( lsmod
), щоб отримати повне уявлення, вам потрібно буде переглянути весь бал, а не лише один компонент.
Між іншим, мої шоу slabtop
:
Active / Total Size (% used) : 173428.30K / 204497.61K (84.8%)
Сторінка man для slabtop
також мала сказати:
Статистичний заголовок на верхній панелі відстежує кількість байтів плит, які використовуються, і це не міра фізичної пам'яті. Поле "Плита" у файлі / proc / meminfo відстежує інформацію про використану фізичну пам'ять платів.
Випадання схованок
Якщо мені випадати кеші, як @derobert запропонував у коментарях під вашим запитанням, для мене таке:
$ sudo sh -c 'echo 3 > /proc/sys/vm/drop_caches'
$
Active / Total Size (% used) : 61858.78K / 90524.77K (68.3%)
Надсилання 3 робить наступне: безкоштовний кеш-сторінок, зубні сторони та вставки. Я обговорюю це детальніше в цьому запитанні U&L під назвою: Чи є способи чи інструменти для скидання кешу пам'яті та буфера? "Отже, 110 Мб мого простору використовувалося просто підтримкою інформації про кеш сторінок, зубних стоматологів та введеннях.
Додаткова інформація
- Якщо вас цікавить, я знайшов цю публікацію в блозі, в якій обговорюється
slabtop
трохи детальніше. Це під назвою: Команда дня Linux: slabtop .
- Кеш слябів обговорюється більш детально тут у Вікіпедії під назвою: Розподіл плит .
Так скільки оперативної пам’яті використовує мій ядро?
Ця картина для мене трохи туманніша, але ось ті речі, про які я "думаю", ми знаємо.
Плити
Ми можемо отримати знімок використання плит за допомогою цієї методики. По суті, ми можемо витягнути цю інформацію з /proc/meminfo
.
$ grep Slab /proc/meminfo
Slab: 100728 kB
Модулі
Також ми можемо отримати значення розміру для модулів Kernel (незрозуміло, чи є їх розмір з диска чи коли в оперативній пам'яті), витягнувши ці значення з /proc/modules
:
$ awk '{print $1 " " $2 }' /proc/modules | head -5
cpufreq_powersave 1154
tcp_lp 2111
aesni_intel 12131
cryptd 7111
aes_x86_64 7758
Слабінфо
Більшість деталей про SLAB доступні в цій структурі проц /proc/slabinfo
:
$ less /proc/slabinfo | head -5
slabinfo - version: 2.1
# name <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
nf_conntrack_ffff8801f2b30000 0 0 320 25 2 : tunables 0 0 0 : slabdata 0 0 0
fuse_request 100 125 632 25 4 : tunables 0 0 0 : slabdata 5 5 0
fuse_inode 21 21 768 21 4 : tunables 0 0 0 : slabdata 1 1 0
Dmesg
Коли ваша система завантажується, є рядок, який повідомляє про використання пам'яті ядра Linux відразу після завантаження.
$ dmesg |grep Memory:
[ 0.000000] Memory: 7970012k/9371648k available (4557k kernel code, 1192276k absent, 209360k reserved, 7251k data, 948k init)
Список літератури