Назад | Перейти на главную страницу

Использование памяти vmware отличается от Linux

У меня новая система, работающая под управлением VMware, и я просто пытаюсь разобраться в использовании памяти.

В клиенте vSphere он показывает, что я активен, используя 335 544 КБ:

Однако linux показывает, что я использую 3146148 КБ:

root@PFDEV-SVN:~# free -k
             total       used       free     shared    buffers     cached
Mem:       4118636    3146148     972488          0     477216    1268364
-/+ buffers/cache:    1400568    2718068
Swap:      6040400          0    6040400

Почему это так отличается? Я просто неправильно это читаю?

Это Ubuntu 9.10, без установленных инструментов vmware, работающая на сервере ESXi.

Eсть подробный технический документ по теме управления памятью и расчетов размера рабочего набора активной памяти.

По сути, все сводится к тому, что гость не использует всю выделенную ему память все время. Вместо этого только определенные диапазоны памяти считаются «активными» в определенный период времени, что делает «неактивную» память кандидатом на подкачку, если вам случится перегрузить свою физическую память. Вам следует посмотреть на «потребляемую» память, если вы хотите примерно сопоставить ее с использованием памяти на вашем хосте (могут возникнуть отклонения из-за страниц памяти, совместно используемых несколькими виртуальными машинами).

Можно было бы надеяться, что они не совпадают. Одна из целей виртуализации - позволить множеству операционных систем размещаться в одной физической системе. При создании гипервизора (например, ESX или Hyper-v) отмечалось, что операционные системы часто фактически не используют всю выделенную им оперативную память. Гипервизоры, соответственно, сделают физическую оперативную память доступной для других операционных систем, что позволит вам «перегрузить» доступный объем оперативной памяти. Обратной стороной чрезмерного выделения ресурсов является то, что если вы столкнетесь с ситуацией, когда каждая ОС фактически использует выделенный объем оперативной памяти, производительность снизится.