Рейтинг:2

Влияние размера кэша страниц Linux (хоста) на производительность виртуальных машин Virtualbox

флаг id

у меня есть небольшой хост виртуализации, который работает под управлением 7 Windows 10 и CentOS VMS. Хост имеет только 32 ГБ оперативной памяти, и эта оперативная память почти используется памятью виртуальных машин и операционной системой Linux. Осталось около 2,5 ГБ ОЗУ, которые используются кешем хост-страниц Linux.

Теперь я задаюсь вопросом, могу ли я повысить производительность виртуальных машин, добавив дополнительную оперативную память, чтобы page.cache мог использовать больше оперативной памяти для буферизации операций чтения/записи HD.

С моей точки зрения, это вопрос, видит ли хост-ОС только vdi-файлы виртуальных машин (виртуальные жесткие диски виртуальных машин) в «целом» или если хост-ОС может видеть отдельные файлы, которые виртуальные ОС записывают внутри там вди-виртуальные винчестеры.

Я искал это, но не нашел никакой информации. Может кто-нибудь объяснить это мне, пожалуйста?

Спасибо

Рейтинг:2
флаг ca

Больше оперативной памяти, используемой для кэша страниц, несомненно, положительно повлияет на производительность виртуальных машин, но оценка сколько? это сложная часть из-за того, что разные рабочие нагрузки по-разному реагируют на увеличение кеша.

Например, полностью случайная рабочая нагрузка чтения (очень редкий сценарий) или полностью связанная с записью нагрузка (несколько более вероятная, но опять же довольно необычная) будут небольшими или вообще не выиграют от увеличения кэша страниц.

Тем не менее, общие, более смешанные рабочие нагрузки получат значительный прирост.

Chris9834 avatar
флаг id
ну, моя мысль была такой: - если ОС может только «видеть» vdi-disk-файлы виртуальных машин, она может хранить их в кеше только целиком, что невозможно, поскольку они намного больше, чем общая оперативная память. - для повышения производительности виртуальной машины ОС хоста должна была «видеть», что виртуальные машины записывают ВНУТРИ файла vdi-disk. В этом случае это будет иметь такое же влияние на производительность, как и собственный кеш виртуальных машин. Но я не знаю, правильны ли вообще мои мысли, и не знаю, как оно на самом деле.
shodanshok avatar
флаг ca
@Chris9834 Крис9834 нет, linux pagecache основан на страницах - он кэширует 4K-блоки базового файла. Другими словами, он не должен полностью соответствовать кэшируемому файлу.
Chris9834 avatar
флаг id
если это так, как я понял из ваших слов, то на самом деле было бы более разумно добавить эту дополнительную оперативную память в кеш-страницу хоста, а затем разделить ее на более мелкие части и добавить непосредственно к нескольким виртуальным машинам. Правильный ?
shodanshok avatar
флаг ca
@Chris9834 Это зависит от ожидаемого сценария использования: добавление дополнительной оперативной памяти к конкретной виртуальной машине принесет пользу только выбранной машине, а добавление ее к хосту в качестве кэша страниц означает, что новый ресурс и относительное улучшение будут совместно использоваться всеми работающими процессы.
Chris9834 avatar
флаг id
Кажется, есть еще один факт, который играет роль. Когда я добавляю дополнительную оперативную память к виртуальной машине для кэша страниц виртуальной машины (в случае, если эта оперативная память не используется приложением внутри виртуальной машины), то, вероятно, кеш страницы виртуальной машины и кеш страницы хоста будут кешировать одни и те же страницы. Что не имело никакого смысла. Кажется, что было бы лучше добавить в виртуальную машину достаточно оперативной памяти, чтобы она могла запускать свои приложения БЕЗ использования подкачки (вообще отключить подкачку?) и добавить всю оставшуюся оперативную память на хост для кэширования.
shodanshok avatar
флаг ca
@Chris9834 Двойное кэширование определенно возможно при размещении виртуальных машин. Кэш страниц внутри виртуальной машины, находящийся в том же процессе, будет быстрее реагировать на запросы на чтение, оставляя кэш страниц на стороне хоста (который является некоторым переключением контекста) в виде большего пула или несколько более медленного кеша. В любом случае, кэш страниц (как на стороне хоста, так и на стороне гостя) может немедленно уменьшиться из-за нехватки памяти, поэтому вам не следует бояться иметь «слишком много» кеша.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.