Как найти память в моей системе

Давным-давно на своем производственном сервере я создал несколько виртуальных машин. В Ubuntu, использующем virt-manager, я забыл их конфигурации, т. Е. Сколько оперативной памяти я выделил этим виртуальным машинам, кто-то может помочь мне понять это. Я понятия не имею, как обнаружить эту часть.

редактировать после некоторых ответов я использую KVM не Xen

free -m имеет следующий вывод

             total       used       free     shared    buffers     cached
Mem:          1002        956         45          0         30        151
-/+ buffers/cache:        774        228
Swap:         2015          0       2015

и файл конфигурации virtual_machine.xml имеет следующую запись, которая, я думаю, является правильной строкой для спецификации ОЗУ

 <memory>1048576</memory>
 <currentMemory>1048576</currentMemory>

но я не могу понять, что такое, что нет в ГБ, равном. Вот вывод команды top на виртуальной машине

Mem:   1026868k total,   980080k used,    46788k free,    31508k buffers
Swap:  2064376k total,      104k used,  2064272k free,   155040k cached

Для другой виртуальной машины бесплатно -m имеет следующее

             total       used       free     shared    buffers     cached
Mem:          2009       1848        161          0        235        792
-/+ buffers/cache:        820       1189
Swap:         5847          1       5846

и его конфигурационный файл имеет

 <memory>2097152</memory>
  <currentMemory>2097152</currentMemory>

Теперь вывод top -b -d 1 > top.txt Команда на хосте, где работают все такие гости,

top - 14:40:43 up 8 days,  4:01,  1 user,  load average: 0.68, 0.58, 0.55
Tasks: 259 total,   2 running, 256 sleeping,   0 stopped,   1 zombie
Cpu(s):  1.3%us,  4.2%sy,  0.0%ni, 94.4%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8181868k total,  8059876k used,   121992k free,   388564k buffers
Swap: 15624184k total,    63012k used, 15561172k free,  1596052k cached

Сколько памяти имеет Хост и сколько дается гостю, это то, что я хочу знать.

3 ответа

Решение

Ваш хост имеет 8 ГБ оперативной памяти:

Mem:   8181868k total

Вашей первой виртуальной машине выделено 1 ГБ оперативной памяти. В вашем конфигурационном файле vm указано 1048576, а единицы измерения указаны в килобайтах (я предполагаю, что в других единицах измерения это не имеет никакого смысла). Это подтверждается выводом top, показывающим 1026868k, что также достаточно близко к 1 ГБ, чтобы подтвердить это.

Это сбивает с толку, потому что эти цифры не совпадают. Вероятно, это связано с тем, что оперативная память зарезервирована для сопоставлений адресного пространства PCI и BIOS - это происходит даже внутри KVM, поскольку KVM представляет собой поддельный BIOS, которому необходимо зарезервировать некоторую память для BIOS и psuedo PCI.

Второй виртуальной машине также выделено 2 ГБ оперативной памяти.

Здесь есть хороший ответ о том, как правильно интерпретировать вывод "free", который стоит прочитать. Я не буду повторять это здесь

Как писал Sirex, если вы используете Xen, попробуйте использовать команду

xm list

который покажет вам ваши виртуальные машины с памятью, которую вы им присвоили.

РЕДАКТИРОВАТЬ: я заметил, что вы используете KVM. Попробуйте использовать команду virsh следующим образом:

virsh dommemstat DOMAIN_ID

Чтобы узнать идентификатор вашего домена, используйте:

virsh list

Я надеюсь, что это помогает.

Если вы используете xen, попробуйте "grep mem [файлы конфигурации xen]", мои файлы конфигурации находятся в /etc/xen/configs/, поэтому это будет "grep mem /etc/xen/configs/*"

Чтобы найти память в вашей системе (хосте), попробуйте "free -m"

Другие вопросы по тегам