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

Сколько памяти использует режим обратной записи кэша диска qemu?

Я использую Proxmox с ZFS ZVOL или LVM-thin для дисковых томов, и говорят, что использование режима обратной записи кэша диска увеличит использование памяти больше, чем выделено.

Есть ли способ проверить, ограничить и увеличить использование памяти для режима обратной записи кэша диска qemu в Linux KVM?

В режиме обратной записи QEMU / KVM выполняет запись через кэш страниц хоста, как и любая другая программа пользовательского пространства. Чтобы получить информацию о содержимом и активности кэша страниц, вы можете выполнить:

[user@localhost ~]$ grep -i "^cache\|dirty\|writeback:" /proc/meminfo
Cached:            84548 kB
Dirty:                 0 kB
Writeback:             0 kB

Изучая вывод, мы видим:

  • Кешировано: - это объем памяти, используемый для кэширования чтения. Если ты что-то прочитаешь в гостях, это закончится обе в кеш-памяти хоста и в гостевом кэше страниц. Кто-то считает двойное кэширование пустой тратой ресурсов; в действительности, доступный только для чтения кеш может быть немедленно удален при нехватке памяти. С другой стороны, кэш хоста часто намного больше, чем кеш гостя, поэтому прирост чистой производительности можно получить, включив кеш обратной записи QEMU (по сравнению с прямым доступом);

  • Грязный: он представляет собой объем памяти, подлежащей записи (т. е. измененной). Чтобы вернуть эту память, система должен записать изменения на диски. Это означает, что, в зависимости от базовой подсистемы ввода-вывода, восстановление грязных страниц может быть медленным;

  • Обратная запись: это объем памяти, который используется в системе. в настоящее время пишу на диски, как из-за нехватки памяти (и восстановления грязных страниц), так и из-за времени (самое большее через 30 секунд грязные страницы записываются обратно на диск).

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

Более подробную информацию можно найти Вот