Есть:
Linux vm.lab.infra 2.6.18-308.1.1.el5 #1 SMP Wed Mar 7 04:16:51 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
CentOS release 5.8 (Final)Вроде как что-то свопится:
[xor@vm.lab.infra ~]$ free -mt
total used free shared buffers cached
Mem: 7981 7728 253 0 3 495
-/+ buffers/cache: 7230 751
Swap: 511 504 7
Total: 8493 8233 260Вот что показывает smem:
[xor@vm.lab.infra ~]$ sudo smem -p -r |head -10
PID User Command Swap USS PSS RSS
8944 gent python2.7 /opt/local/geneit 0.00% 37.17% 37.31% 37.73%
8942 gent python2.7 /opt/local/geneit 0.00% 24.17% 24.31% 24.73%
8943 gent python2.7 /opt/local/geneit 0.00% 22.77% 22.91% 23.32%
8939 gent python2.7 /opt/local/geneit 0.00% 4.14% 4.28% 4.70%
12266 gent python2.7 /opt/local/geneit 0.01% 2.47% 2.48% 2.49%
16637 root /usr/sbin/samhain 0.00% 0.17% 0.21% 0.26%
16639 root /usr/sbin/samhain 0.00% 0.16% 0.20% 0.24%
9679 ptmon /opt/OV/lbin/perf/coda 0.00% 0.11% 0.12% 0.18%
3341 root /opt/perf/bin/scopeux 0.07% 0.09% 0.09% 0.12%Вопрос:
Почему в Swap всё по нулям и как выяснить какой конкретно процесс свопится?
> Вопрос:
> Почему в Swap всё по нулям и как выяснить какой конкретно процесс
> свопится?Потому, что ты не понимаешь, как работает своп. Точнее система работает со свопом. Ядро, если уж совсем точно. Это ничего, это нормально. Никто не понимает.
Так вот, в меру своего непонимания поясню: пока все процессы (вот, скажем, сразу после загрузки или активации свопа) "помещаются" в памяти, своп не используется. Использрвание свопа случается в момент _нехватки_ памяти. При этом, тебе это покажется неожиданным, но если подумать, это логично, система, выделяя память активно "кушающему" её процессу будет "выгружать" в своп страницы памяти _других_, не таких активных в тот момент, процесов. Совсем плохо становится, если "один плохиш" вытесняет и нормально работающие процессы -- там уже и мышка будет "не двигаться", и окошко "не рисоваться" (и обычное акустическое сопровождение таких ситуаций "но как же так, хост пингуется, а ssh не соединяется. пачииму?").
Так вот: если тот вытесняющий процесс еще не завершился, еще не вернул бОльшую часть "неправедно нажитого", то его может повезти увидеть в top-е, скажем, с сортировкой по памяти. Или позаниматься гонками за неуловимым Джо -- накостылить мониторинг какой, кто из процессов выжирал память, когда вулкан сильно гремел и своп заполнялся.
Хочешь узнать, кого занесло в своп, поперезапускай долгоживущих [~не сильно вктивных] демонов. Это тебе ничем не поможет, но цифеку 0, может и получишь. Ещё проще получить заветный нолик, :) отключив-подключив своп.
> Есть:
> Linux vm.labА ещё память, оперативную, у виртуалки теоретически может забрать хост-система. Чтоб отдать её соседним виртуалкам.
Искать, например, по "детскому" названию: linux virtual machine memory baloon
Over-provisioning -- это такой таймшер, хостеры одну физ.память раз по пять продают клиентам.
> Вопрос:
> Почему в Swap всё по нулям и как выяснить какой конкретно процесс
> свопится?
>> Есть:
>> Linux vm.lab
> А ещё память, оперативную, у виртуалки теоретически может забрать хост-система. Чтоб отдать
> её соседним виртуалкам.
> Искать, например, по "детскому" названию: linux virtual machine memory baloon
> Over-provisioning -- это такой таймшер, хостеры одну физ.память раз по пять продают
> клиентам.
>> Вопрос:
>> Почему в Swap всё по нулям и как выяснить какой конкретно процесс
>> свопится?Спасибо за ликбез. Буду копать глубже.
В top эти ребятки, понятное дело, впереди всех:
8944 gent python2.7 /opt/local/geneit
8942 gent python2.7 /opt/local/geneit
8943 gent python2.7 /opt/local/geneitКстати обратил внимание на то что smem работающий на CentOS 7.1 с ядром 3.10.0-229.el7.x86_64 вполне ожидаемые результаты выдаёт для этого же приложения.
> Вопрос:
> Почему в Swap всё по нулям и как выяснить какой конкретно процесс
> свопится?ипользуйте smem, htop или скрипты типа:
http://northernmost.org/blog/find-out-what-is-using-your-swap/
http://www.cyberciti.biz/faq/linux-which-process-is-using-swap/
>> Вопрос:
>> Почему в Swap всё по нулям и как выяснить какой конкретно процесс
>> свопится?
> http://www.linuxatemyram.com/
> ипользуйте smem, htop или скрипты типа:
> http://northernmost.org/blog/find-out-what-is-using-your-swap/
> http://www.cyberciti.biz/faq/linux-which-process-is-using-swap/Спасибо, но мой первый пост какраз содержит вывод smem, который ничего толком не обьясняет.
Доброго дня.>>> Вопрос:
>>> Почему в Swap всё по нулям и как выяснить какой конкретно процесс
>>> свопится?
> Спасибо, но мой первый пост какраз содержит вывод smem, который ничего толком
> не обьясняет.В smeme и в totals всё по нулям? Может smem -s swap -r?
Тут вот http://stackoverflow.com/questions/479953/how-to-find-out-wh... ...
> Тут вот http://stackoverflow.com/questions/479953/how-to-find-out-wh...
> ...Да, посмотрел на
# grep swap /proc/1/* -i
, сделал
# grep VmSwap: /proc/*/status |grep -v ' 0 ' |sort -k2,2nr |lessНо дальше уже не пошёл, вот тут по твоей ссылке уже чего-то с status:VmSwap: накрутили:
""The best script I found[...]" ~http://stackoverflow.com/a/7180078Но это опять же _кого_ выдавили в своп, а не _кто_ их так.
> Вопрос: Почему в Swap всё по нулям и как выяснить какой конкретно процесс свопится?Встречный, что дальше будешь делать с полученной инфой?
>> Вопрос: Почему в Swap всё по нулям и как выяснить какой конкретно процесс свопится?
> Встречный, что дальше будешь делать с полученной инфой?Да ничё делать не буду. Это тестовая среда и там памяти всегда недостаточно будет. Просто хотел понять почему smem не отображает что засвопилось.