[Sysadmins] заметки на манжетах: slabtop
Michael Shigorin
=?iso-8859-1?q?mike_=CE=C1_osdn=2Eorg=2Eua?=
Сб Июн 28 13:05:57 MSD 2008
Здравствуйте.
Прикручивая экспериментальную сборку collectd (отправлена
в Daedalus, только вот похоже, там есть ляпы при работе с
памятью -- VSZ в триста метров как-то немного слишком при
RSS в несколько мегабайт),
озадачился тем, что в графике потребления памяти как-то уж
больно постоянно висит полгига buffered memory (что и по
free(1) заметно, но как-то не так глаз цепляет).
Решил узнать, кто потребитель. Поискал (попытки с третьей)
linux process uses "buffered memory" how
-- первый результат:
http://mail.nl.linux.org/linux-mm/2003-03/msg00077.html
"HOWTO: Profile Memory in a Linux System"
Более внимательно посмотрел в документацию ps(1), но там ничего
интересного по слову buffer не нашлось, зато внизу была ссылочка
на slabtop(1) -- который по нажатию "c" (sort by cache size)
и выдал:
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
501136 499176 99% 0.81K 125284 4 501136K ext3_inode_cache
530784 524061 98% 0.23K 33174 16 132696K dentry_cache
547840 339573 61% 0.09K 13696 40 54784K buffer_head
34832 24907 71% 0.52K 4976 7 19904K radix_tree_node
249629 245629 98% 0.06K 4231 59 16924K page_beancounter
17628 17143 97% 0.30K 1469 12 5876K ip_conntrack
19194 18641 97% 0.17K 914 21 3656K vm_area_struct
Может, кому ещё пригодится.
Здесь ext3 ещё и работает настолько медленней xfs (поставил
на /var/lib/vz заради квот, но не такой же ценой), что, похоже,
придётся бэкапить и переформатировать. Даже с полгиговым inode
cache...
Для сравнения -- машинка с на порядок большим объёмом ФС под xfs:
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
169920 169802 99% 0.69K 33984 5 135936K xfs_vnode
169918 169803 99% 0.56K 24274 7 97096K xfs_inode
192768 192768 100% 0.23K 12048 16 48192K dentry_cache
165495 106295 64% 0.06K 2805 59 11220K page_beancounter
18291 12726 69% 0.52K 2613 7 10452K radix_tree_node
(обе -- AMD64)
PS: бесплатные советы: на M40/2.6.18 не забудьте проверить, что
используется deadline scheduler (/sys/block/*/queue/scheduler),
ну и vzctl set 0 --ioprio 7 --save
--
---- WBR, Michael Shigorin <mike на altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
Подробная информация о списке рассылки Sysadmins