Я получил странный вывод команды top , который показывает, что сумма столбца RES больше моей физической памяти. Например, у меня есть хост с физической памятью 64G, а раздел подкачки отключен. Когда я выполняю команду top и суммирую значения в столбце RES для всех процессов qemu-kvm, я получаю 72G.

Я не могу понять, где память 72G - 64G = 8G? Как это объяснить?

Заранее спасибо!

1 ответ1

0

Resident size (RES) также учитывает общие библиотеки, которые были загружены в процесс. Однако общие библиотеки загружаются не для каждого отдельного процесса (они загружаются один раз, а затем на них ссылается динамический компоновщик). Фактически ядро Linux также дедуплицирует текстовые (двоичные исполняемые) сегменты.

Если вы посмотрите в /proc/$pid/maps вы увидите, сколько памяти «используется» для разделяемых библиотек (добавить нелегко, потому что все в шестнадцатеричном формате).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .