Форум программистов, компьютерный форум, киберфорум
Эмуляторы и виртуальные машины
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532

Скорости различных виртуальных дисков на NVMe

04.01.2025, 23:07. Показов 1298. Ответов 12

Студворк — интернет-сервис помощи студентам
Всем привет.
Вопросы про виртуальные диски внутри вм.


Железо и ОС
CPU: Intel i5 10 поколения (ноутбучный)
RAM: 64 ГБ DDR4
SSD: NVMe Kingston 1 ТБ PCIe 4 (7 ГБ/сек, но ноутбук с PCIe 3)
OS: Win11 x64

Виртуальные машины
Для тестов использовались:
- 3 виртуальные машины
- одинаковые для всех вм Win7 x64
- одинаково чистые Win7, кроме установленной VMware Tools и папок с Portable-программами для тестов дисков
___
#1 вм - диск разбит несколькими файлами, ограничение в 40 ГБ.
#2 вм - диск в одном файле, ограничение в 40 ГБ.
#3 вм - диск в одном файле + сразу зарезервировано 40 ГБ.


Проблема
Тест Atto Disk Benchmark показывает разные результаты в идентичных системах.

Итоги теста
#Вм - Чтен/Зап (больш файлы) --- Чтен/Зап (4 кб) --- Задержки (мс)(9-й проход DiskSpd)
#1 вм - 2.93 ГБ/2.58 ГБ --- 110 МБ/104 МБ --- 29 мс
#2 вм - почти идентично с вм #1 (~-5%) --- 40 мс
#3 вм - 1.29 ГБ/1.09 ГБ --- 78 МБ/73 МБ --- 34 мс

Вопросы

1. Почему при заранее выделенном полном объёме диска скорости чтения и записи значительно упали, а именно в 2 с лишним раза на больших файлах? Причём давно читаю из интернета, что для лучшей производительности виртуального(!) диска внутри вм нужно сразу выделять весь объём, а на деле наоборот.

2. Т.к. в ноутбуке установлен NVMe, не вредно ли для него использование динамически расширяемых дисков (#1 и #2 вм)? Не перезаписываются ли файлы vmdk ежесекунжно на NVMe? Потому что при включённой вм файл меняет ежесекундно свой размер (а размеры по 15 ГБ+). Это же не 15 ГБ перезаписей ежесекундно?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.01.2025, 23:07
Ответы с готовыми решениями:

Создание виртуальных дисков
Здравствуйте! Подскажите пожалуйста литературы по теме: "Обзор программ создания виртуальных дисков и сравнение их возможностей" ...

Пороговые значения SMART у NVME дисков
Доброго времени суток. Давно задаюсь вопросом, почему при чтении смарта у обычных винчестеров и ссд определяются пороговые значения данных,...

Программы создания виртуальных образов дисков!
Доброго времени суток! Где можно взять качественные картинки коробок программ Daemon Tools, Alcohol 120%, Virtual CD и Nero Image Drive? ...

12
Native x86
Эксперт Hardware
 Аватар для quwy
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
05.01.2025, 01:17
Цитата Сообщение от Vasek2 Посмотреть сообщение
Почему при заранее выделенном полном объёме диска скорости чтения и записи значительно упали, а именно в 2 с лишним раза на больших файлах?
Потому что в этом случае система не может использовать команду trim, и SSD вынужден очищать flash-память прямо перед записью данных (замедляя всю процедуру записи), а не заблаговременно (при удалении файлов или во время простоя).

Цитата Сообщение от Vasek2 Посмотреть сообщение
давно читаю из интернета, что для лучшей производительности виртуального(!) диска внутри вм нужно сразу выделять весь объём
Это касается классического HDD.

Цитата Сообщение от Vasek2 Посмотреть сообщение
Не перезаписываются ли файлы vmdk ежесекунжно на NVMe? Потому что при включённой вм файл меняет ежесекундно свой размер (а размеры по 15 ГБ+). Это же не 15 ГБ перезаписей ежесекундно?
При постоянном размере происходит все то же самое, только вы этого не видите, вот и все.

Цитата Сообщение от Vasek2 Посмотреть сообщение
не вредно ли для него использование динамически расширяемых дисков
Если так боитесь за ресурс диска -- выньте его из компьютера и положите на полку, там он вообще не будет изнашиваться.
0
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532
05.01.2025, 04:28  [ТС]
Цитата Сообщение от quwy Посмотреть сообщение
Потому что в этом случае система не может использовать команду trim, и SSD вынужден очищать flash-память прямо перед записью данных (замедляя всю процедуру записи), а не заблаговременно (при удалении файлов или во время простоя).
Не совсем понял, как это относится к TRIM. Вроде что так есть файл vmdk, что сяк.

Цитата Сообщение от quwy Посмотреть сообщение
Это касается классического HDD.
Ок. Из-за TRIM. Ясно.

Цитата Сообщение от quwy Посмотреть сообщение
При постоянном размере происходит все то же самое, только вы этого не видите, вот и все.
Ок.

Цитата Сообщение от quwy Посмотреть сообщение
Если так боитесь за ресурс диска -- выньте его из компьютера и положите на полку, там он вообще не будет изнашиваться.
Ну дело же не только в изнашивании, а ещё и в падении производительности в случае неработоспособности TRIM

UPD
Потестировал запущенные виртуальные машины (и с динамическими, и с выделенными дисками, и на виртуальных SATA, и на виртуальных NVMe дисках). Всё это дело моментально мониторил через F5 в CrystalDiskInfo (графы Всего хост-чтений и Всего хость-записей). Да, по 15 ГБайт/сек действительно не пишутся на диск ноутбука.

UPD 2
К UPD. Но меня настораживает, что графа Всего хост-чтений практически не увеличивается, даже при копировании файла в 3 ГБ. А также настораживает то, что графа Всего хост-записей при копировании файла в 3 ГБ на тот же раздел добавляет 1 ГБ, а не 3 ГБ. Это как так?

UPD 3
Стоит ли рисковать и выделять раздел NVMe хост-системы под виртуальную машину? Скорости ещё не тестировал. Прочитал, что могут потеряться данные с такого раздела в случае чего-то тама...
0
Native x86
Эксперт Hardware
 Аватар для quwy
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
05.01.2025, 05:20
Цитата Сообщение от Vasek2 Посмотреть сообщение
Не совсем понял, как это относится к TRIM. Вроде что так есть файл vmdk, что сяк.
Динамический диск, состоящий из нескольких файлов при удалении данных вполне может или сократить размер одного из файлов, или вообще удалить его, в обоих случаях используя команду trim для очистки флеша.

Цитата Сообщение от Vasek2 Посмотреть сообщение
Ну дело же не только в изнашивании, а ещё и в падении производительности в случае неработоспособности TRIM
Я просто толсто намекнул на то, что любые методы сокращения износа SSD являются по сути вредительскими, потому как мешают SSD делать то, ради чего он создан -- увеличивать скорость работы с данными.

Цитата Сообщение от Vasek2 Посмотреть сообщение
графа Всего хост-чтений практически не увеличивается, даже при копировании файла в 3 ГБ. А также настораживает то, что графа Всего хост-записей при копировании файла в 3 ГБ на тот же раздел добавляет 1 ГБ, а не 3 ГБ. Это как так?
Кеш хоста в RAM. Именно поэтому "взрослые" виртуалки используют собственные файловые системы, неизвестные для ОС, чтобы избежать подобных эффектов.

Цитата Сообщение от Vasek2 Посмотреть сообщение
Стоит ли рисковать и выделять раздел NVMe хост-системы под виртуальную машину?
Не понял, а в чем риск? Нормальное решение для высоконагруженой виртуалки.

Цитата Сообщение от Vasek2 Посмотреть сообщение
Прочитал, что могут потеряться данные с такого раздела в случае чего-то тама
Хрень какая-то. Потерять данные можно, если кривыми руками откусывть пространство для такого раздела. А когда все сделано -- риска никакого.
0
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532
05.01.2025, 05:45  [ТС]
Хрень какая-то. Потерять данные можно, если кривыми руками откусывть пространство для такого раздела. А когда все сделано -- риска никакого.
Насчёт хрени
Вычитал, что если хостовая ОС (или софт из неё) будет что-то писать на раздел, который выделен для ВМ, а в этот момент ВМ также что-то будет писать, то может произойти несостыковка. Я предположил, что можно удалить букву раздела в хост ОС, как бы полуразмонтировав его, чтобы хотя бы софт не сделал записей. Или я параною?

P.S. вечером сначала скорости протестирую на хардварном NVMe в ВМ, может отличий особых от вирт.NVMe и не будет.
P.S.2. а если я подцеплю раздел ссд в ВМ, то TRIM слать будет уже гостевая ОС же?
0
Native x86
Эксперт Hardware
 Аватар для quwy
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
05.01.2025, 07:20
Цитата Сообщение от Vasek2 Посмотреть сообщение
Вычитал, что если хостовая ОС (или софт из неё) будет что-то писать на раздел, который выделен для ВМ
А схрена ли? Виртуалка этот раздел держит монопольно, стандартными средствами ОС туда влезть никак нельзя.

Цитата Сообщение от Vasek2 Посмотреть сообщение
Я предположил, что можно удалить букву раздела в хост ОС, как бы полуразмонтировав его, чтобы хотя бы софт не сделал записей. Или я параною?
Можно, но это ни на что не влияет.

Цитата Сообщение от Vasek2 Посмотреть сообщение
если я подцеплю раздел ссд в ВМ, то TRIM слать будет уже гостевая ОС же?
Неа. Гостевая система работает на правах гостя (внезапно), она вообще не имеет прямого доступа к железу. Оперицию trim делает хостовая ОС.
0
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532
05.01.2025, 17:08  [ТС]
Цитата Сообщение от quwy Посмотреть сообщение
А схрена ли? Виртуалка этот раздел держит монопольно, стандартными средствами ОС туда влезть никак нельзя.
Понял. Этот вопрос отпал

Цитата Сообщение от quwy Посмотреть сообщение
Можно, но это ни на что не влияет.
Понял, относится к первому ответу.

Цитата Сообщение от quwy Посмотреть сообщение
Неа. Гостевая система работает на правах гостя (внезапно), она вообще не имеет прямого доступа к железу. Оперицию trim делает хостовая ОС.
Т.е. даже если пробросить весь физический накопитель в ВМ, то TRIM тоже будет делать хостовая ОС?
0
Native x86
Эксперт Hardware
 Аватар для quwy
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
06.01.2025, 01:31
Лучший ответ Сообщение было отмечено SlavaRus как решение

Решение

Цитата Сообщение от Vasek2 Посмотреть сообщение
Т.е. даже если пробросить весь физический накопитель в ВМ, то TRIM тоже будет делать хостовая ОС?
Тут, после осмысления, появляется проблема.

Накопитель в виртуалку пробрасывается как файл \\.\PhysicalDriveX, а не как железка с аппаратным интерфейсом. То есть все низкоуровневое взаимодействие с диском все равно обеспечивается хостовой ОС. Виртуальная машина видит лишь файл размером с диск, который можно вольно читать и писать, но ему не дашь команду trim.

Но в то же время только гостевая система обслуживает ФС на этом диске, и только она знает, когда и как делать trim. Но не может. Хостовая же система может делать trim, но у нее нет никакой информации об ФС и она не знает когда и как это делать.

Такая вот фигня выходит...

Добавлено через 9 минут
Погуглил эту тему. Оказывается таки существует API, через который обычные программы могут то ли непосредственно выполнять саму команду для своих открытых файлов, то ли сласть системе хинт на этот счет (и система уже сама решает, делать trim или нет).

Если этот API реально работает, и программа виртуальной машины умеет им пользоваться, то тогда гостевая система может выполнять команду, которая будет ретранслирована хосту. В этом случае важно, чтобы для гостевой системы диск тоже был типа SSD, иначе она даже пытаться не будет. Но эта настройка уже давно есть во всех виртуалках, так что не проблема.
1
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532
06.01.2025, 19:04  [ТС]
quwy, так, ясно.

А если я вручную буду запускать софтину, умеющую слать TRIM? То где логично её запустить: в хостовой или гостевой ОС? И вообще актуально ли это для NVMe накопителя? Именно NVMe PCIe
0
Native x86
Эксперт Hardware
 Аватар для quwy
6853 / 3787 / 1024
Регистрация: 13.02.2013
Сообщений: 11,861
07.01.2025, 04:11
Актуально. В гостевой. Но только если работает описанный выше проброс команды из гостя на хост.
1
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532
07.01.2025, 04:40  [ТС]
quwy, ясно, значит способ есть. Спасибо, буду знать
0
5025 / 1054 / 147
Регистрация: 29.01.2013
Сообщений: 6,177
08.01.2025, 17:19
Вообще ваш тест не сильно корректен. По хорошему надо на железо ставить гипервизор и экспериментировать в нём. Так у вас не будет внезапных просадок из-за фоновой активности хостовой ОС
0
12 / 12 / 2
Регистрация: 17.11.2013
Сообщений: 532
08.01.2025, 19:08  [ТС]
Цитата Сообщение от Alli_Lupin Посмотреть сообщение
из-за фоновой активности хостовой ОС
Фоновая активность ОС крайне минимальна, потому что выпилены все службы, которые в фоне что-то делают (тесты были на Nirsoft с SSD и интернет-активностью). Но да, смысл в этом есть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.01.2025, 19:08
Помогаю со студенческими работами здесь

Программа для объединения двух виртуальных дисков
нужно склеить два виртуальных диска какая прога есть кроме акрониса

Подключение виртуальных дисков соответвующим пользователям в домене
Приветствую форумчан. Есть компьютерный класс с сервером в роли контроллера домена. Пользователи заходят под учетной записью группы (общая...

Зависает служба виртуальных дисков при подключении флешки
Мне сделать нужно было через Rufus 3.9 загрузочную флешку с портативной виндой. С 3 часа дня до 3 часа ночи он работал. Остановился на...

Размещение виртуальных дисков VirtualBox на сетевых физических дисках
доброго утра уважаемые форумчане. есть старый компьютер со 100 мюитной сетевой картой и довольно шустрыми дисками - они шустрее чем...

Сравнение скорости работы виртуальных и обычных методов
Вот такой вопрос Какой метод вызывается быстрее виртуальный или обычный? Почему? Как и в каких случаях можно обработать поля класса...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru