Этот вопрос поднимался несколько раз раньше:
Встроенная утилита Windows для дефрагментации и любые запланированные оптимизации диска, выполняемые службой defragsvc, загружают одно ядро, весь доступный свободный RAM и диск, который "оптимизируется". При использовании PowerShell cmdlet Optimize-Drive только с ключами -Analyze или только -ReTrim, операция все равно занимает огромное количество времени и ресурсов, больше, чем обычно. При запуске без дополнительных ключей также выполняется функция /SlabConsolidate. Виртуальная машина становится практически не отвечающей во время этих операций. Я не могу воспроизвести это ни на одной VM с Server 2012, 2016 или 2019. Только на Server 2022. Единственным предложенным решением было установить пользовательский discard_granularity в конфигурации VM. Я использую virtio-scsi-single и пробовал следующие версии драйвера vioscsi, я знаю, что их больше, но это был достаточно широкий спектр: 100.82.104.18500 100.93.104.24000 100.100.104.26600 Ceph Quincy на Intel P4510 SSDs. Если жестко задавать discard granularity — это единственное решение, конечно, я готов это сделать, но мне трудно поверить, что это до сих пор не было должным образом решено ни в гостевой ОС, ни на уровне QEMU, поэтому я хотел убедиться, прежде чем приступать к изменению множества конфигов и перезагрузке виртуальных машин. Спасибо!
Встроенная утилита Windows для дефрагментации и любые запланированные оптимизации диска, выполняемые службой defragsvc, загружают одно ядро, весь доступный свободный RAM и диск, который "оптимизируется". При использовании PowerShell cmdlet Optimize-Drive только с ключами -Analyze или только -ReTrim, операция все равно занимает огромное количество времени и ресурсов, больше, чем обычно. При запуске без дополнительных ключей также выполняется функция /SlabConsolidate. Виртуальная машина становится практически не отвечающей во время этих операций. Я не могу воспроизвести это ни на одной VM с Server 2012, 2016 или 2019. Только на Server 2022. Единственным предложенным решением было установить пользовательский discard_granularity в конфигурации VM. Я использую virtio-scsi-single и пробовал следующие версии драйвера vioscsi, я знаю, что их больше, но это был достаточно широкий спектр: 100.82.104.18500 100.93.104.24000 100.100.104.26600 Ceph Quincy на Intel P4510 SSDs. Если жестко задавать discard granularity — это единственное решение, конечно, я готов это сделать, но мне трудно поверить, что это до сих пор не было должным образом решено ни в гостевой ОС, ни на уровне QEMU, поэтому я хотел убедиться, прежде чем приступать к изменению множества конфигов и перезагрузке виртуальных машин. Спасибо!
