Всем привет! Несколько недель назад я настроил VirtioFS для одной из моих ВМ на одном из моих Proxmox хостов. Пока что работает очень хорошо — хорошая производительность и высокая стабильность. Отличная функция, за которую я очень благодарен. Спасибо, команда Proxmox!
О моей конфигурации: Proxmox хост с 128 ГБ regECC памяти и NVMe, а также ZFS пулы на основе HDD (только ZFS, без другого типа хранилища). Как следствие, вся кэширование файловой системы по сути выполняется ZFS ARC.
Я настроил VirtioFS шару вот так: /etc/pve/mapping/directory.cfg
Код: shared-data
map node=my-proxmox-host,path=/hdd-mirror-1/data/shared/
description Shared data /etc/pve/qemu-server/183.conf
Код: ...
virtiofs0: shared-data,cache=never,expose-acl=1
... (в ВМ 183) /etc/fstab
Код: ...
shared-data /app/shared-data virtiofs ro,relatime 0 0
...
По моему мнению, это обычная настройка с отключенным кэшем, так как кэширование уже выполняется ZFS ARC. Но затем я увидел это в своем мониторинге:

Да, точка, где началось использование огромного количества Cached и Shared, совпала именно с моментом, когда я включил VirtioFS. Взгляд в htop это подтверждает — больше 49 ГБ виртуальной памяти.

Конечно, это количество памяти должно быть обычно доступно для других процессов, если это явно требуется, но на мой взгляд, оно все равно недоступно для ZFS ARC. И мне до сих пор непонятно, что VirtioFS делает с таким большим количеством памяти при отключенном кэшировании.
Просто для протокола: я также пробовал другие опции для кэша, которые доступны с VirtioFS, но это не изменило ничего. Кажется, это бесполезная опция, которая ничего не делает.
Кто-нибудь знает, почему VirtioFS использует столько буферов/общей памяти? Или, кто-нибудь сталкивался с таким же поведением на своем Proxmox боксе?
О моей конфигурации: Proxmox хост с 128 ГБ regECC памяти и NVMe, а также ZFS пулы на основе HDD (только ZFS, без другого типа хранилища). Как следствие, вся кэширование файловой системы по сути выполняется ZFS ARC.
Я настроил VirtioFS шару вот так: /etc/pve/mapping/directory.cfg
Код: shared-data
map node=my-proxmox-host,path=/hdd-mirror-1/data/shared/
description Shared data /etc/pve/qemu-server/183.conf
Код: ...
virtiofs0: shared-data,cache=never,expose-acl=1
... (в ВМ 183) /etc/fstab
Код: ...
shared-data /app/shared-data virtiofs ro,relatime 0 0
...
По моему мнению, это обычная настройка с отключенным кэшем, так как кэширование уже выполняется ZFS ARC. Но затем я увидел это в своем мониторинге:

Да, точка, где началось использование огромного количества Cached и Shared, совпала именно с моментом, когда я включил VirtioFS. Взгляд в htop это подтверждает — больше 49 ГБ виртуальной памяти.

Конечно, это количество памяти должно быть обычно доступно для других процессов, если это явно требуется, но на мой взгляд, оно все равно недоступно для ZFS ARC. И мне до сих пор непонятно, что VirtioFS делает с таким большим количеством памяти при отключенном кэшировании.
Просто для протокола: я также пробовал другие опции для кэша, которые доступны с VirtioFS, но это не изменило ничего. Кажется, это бесполезная опция, которая ничего не делает.
Кто-нибудь знает, почему VirtioFS использует столько буферов/общей памяти? Или, кто-нибудь сталкивался с таким же поведением на своем Proxmox боксе?
