The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Как определить из-за чего свопится виртуалка?"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Оптимизация и тюнинг)
Изначальное сообщение [ Отслеживать ]

"Как определить из-за чего свопится виртуалка?"  +/
Сообщение от XOR on 21-Апр-16, 09:31 
Есть:
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 всё по нулям и как выяснить какой конкретно процесс свопится?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Как определить из-за чего свопится виртуалка?"  +/
Сообщение от Andrey Mitrofanov on 21-Апр-16, 10:40 
> Вопрос:
> Почему в Swap всё по нулям и как выяснить какой конкретно процесс
> свопится?

Потому, что ты не понимаешь, как работает своп. Точнее система работает со свопом. Ядро, если уж совсем точно.  Это ничего, это нормально.  Никто не понимает.

Так вот, в меру своего непонимания поясню: пока все процессы (вот, скажем, сразу после загрузки или активации свопа) "помещаются" в памяти, своп не используется. Использрвание свопа случается в момент _нехватки_ памяти. При этом, тебе это покажется неожиданным, но если подумать, это логично, система, выделяя память активно "кушающему" её процессу будет "выгружать" в своп страницы памяти _других_, не таких активных в тот момент, процесов. Совсем плохо становится, если "один плохиш" вытесняет и нормально работающие процессы -- там уже и мышка будет "не двигаться", и окошко "не рисоваться" (и обычное акустическое сопровождение таких ситуаций "но как же так, хост пингуется, а ssh не соединяется. пачииму?").

Так вот: если тот вытесняющий процесс еще не завершился, еще не вернул бОльшую часть "неправедно нажитого", то его может повезти увидеть в top-е, скажем, с сортировкой по памяти.  Или позаниматься гонками за неуловимым Джо  -- накостылить мониторинг какой, кто из процессов выжирал память, когда вулкан сильно гремел и своп заполнялся.

Хочешь узнать, кого занесло в своп, поперезапускай долгоживущих [~не сильно вктивных] демонов. Это тебе ничем не поможет, но цифеку 0, может и получишь. Ещё проще получить заветный нолик, :) отключив-подключив своп.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Как определить из-за чего свопится виртуалка?"  +/
Сообщение от Andrey Mitrofanov on 21-Апр-16, 10:47 
> Есть:
> Linux vm.lab

А ещё память, оперативную, у виртуалки теоретически может забрать хост-система. Чтоб отдать её соседним виртуалкам.

Искать, например, по "детскому" названию: linux virtual machine memory baloon

Over-provisioning -- это такой таймшер, хостеры одну физ.память раз по пять продают клиентам.

> Вопрос:
> Почему в Swap всё по нулям и как выяснить какой конкретно процесс
> свопится?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Как определить из-за чего свопится виртуалка?"  +/
Сообщение от XOR on 21-Апр-16, 11:14 
>> Есть:
>> 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 вполне ожидаемые результаты выдаёт для этого же приложения.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Как определить из-за чего свопится виртуалка?"  +/
Сообщение от eRIC (ok) on 21-Апр-16, 12:01 
> Вопрос:
> Почему в 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/

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Как определить из-за чего свопится виртуалка?"  +/
Сообщение от XOR on 21-Апр-16, 13:35 
>> Вопрос:
>> Почему в 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, который ничего толком не обьясняет.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Как определить из-за чего свопится виртуалка?"  +/
Сообщение от Дум Дум on 22-Апр-16, 10:27 
Доброго дня.

>>> Вопрос:
>>> Почему в Swap всё по нулям и как выяснить какой конкретно процесс
>>> свопится?
> Спасибо, но мой первый пост какраз содержит вывод smem, который ничего толком
> не обьясняет.

В smeme и в totals всё по нулям? Может smem -s swap -r?
Тут вот http://stackoverflow.com/questions/479953/how-to-find-out-wh... ...

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Как определить из-за чего свопится виртуалка?"  +/
Сообщение от Andrey Mitrofanov on 22-Апр-16, 10:41 
> Тут вот 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

Но это опять же _кого_ выдавили в своп, а не _кто_ их так.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Как определить из-за чего свопится виртуалка?"  +/
Сообщение от pavlinux (ok) on 22-Апр-16, 10:59 
> Вопрос: Почему в Swap всё по нулям и как выяснить какой конкретно процесс свопится?

Встречный, что дальше будешь делать с полученной инфой?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Как определить из-за чего свопится виртуалка?"  +/
Сообщение от XOR on 22-Апр-16, 19:47 
>> Вопрос: Почему в Swap всё по нулям и как выяснить какой конкретно процесс свопится?
> Встречный, что дальше будешь делать с полученной инфой?

Да ничё делать не буду. Это тестовая среда и там памяти всегда недостаточно будет. Просто хотел понять почему smem не отображает что засвопилось.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру