Я использую 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
записи). Поскольку это часто приводит к увеличению чистой производительности в гостевой системе, я установил большинство своих виртуальных машин с кешем обратной записи.
Более подробную информацию можно найти Вот