November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Tuesday, September 4th, 2012 07:25 pm

Занимательная задачка из практики:

Виртуальная машина с линуксом в VMWare. 25 гигов памяти (в виртуалке). Внезапно мониторинг заорал, что память кончается. Пошли смотреть. Натурально, съедено гигов 20.

Сначала грешили на джаву, на которой там крутится пара десятков процессов. Погасили все. Не помогло, всё равно 16 гигов кто-то занимает.

А кто — загадка… Если просуммировать виртуальную память, занятую всеми процессами, набирается всего гигабайта четыре, а на самом деле ещё меньше, поскольку часть её делится на несколько процессов. Сегментов shared memory всего два, по 4 байта каждый. Под буфера занято мегабайт сорок.

А 16 гигов кто-то пожрал. Кто?!

Upd: дисковый кэш тоже ни при чём, он побольше, чем буфера, но всё равно в пределах нескольких десятков мегабайт.

tmpfs не используется.

Оригинал этой записи в личном блоге.

Wednesday, September 5th, 2012 12:35 pm (UTC)
Ключевое слово - Vmware.
На самом деле - штука очень и очень полезная, MS пытался что-то такое повторить в Hyper-V, но получилось как всегда и всем рассказали, что "да и не надо вам это".
Wednesday, September 5th, 2012 09:11 pm (UTC)
Скажете тоже, залипнет, это ж не Hyper-V и не Xen-server.

У ESX`а далеко не один и даже не два способа показать всем ВМ на хосте больше памяти, чем реально есть в наличии (Memory Overcommitment). Если не работал один - сработает другой.

Balloon - это один из самых оптимальных способов, ВМ сама про себя гораздо лучше знает, как ей работать с памятью и что именно можно вытеснить в swap. Если же этот вариант недоступен (vm tools не установлены, например) - тут уже начнётся другая игра, memory compression или там tmps или ещё как-то.
Thursday, September 6th, 2012 07:45 am (UTC)
Если честно, то не знаю, не сталкивался на практике.

Вообще, если все ВМ на хосте захотят всю память одновременно, при этом есть Memory Overcommitment и у всех ВМ выключен баллон - следующий по логике шаг администратора будет выстрел в собственную ногу.
Thursday, September 6th, 2012 08:40 pm (UTC)
Мне не очень интересно, если честно, ибо это вопрос из разряда - "а что будет, если в линуксе отключить своп и установить swappiness в 0".