Как ведет себя кеш CSV при загрузке памяти?

Мы планируем использовать функцию кеширования CSV от Microsoft в наших новых кластерах Hyper-V 2012 R2:

  • Она включена по умолчанию, с выделением 512 МБ для каждого CSV.
  • Максимальный объем памяти, который может быть выделен, составляет 80%.
  • Рекомендуется максимальное выделение 64 ГБ.

На наших узлах будет достаточно свободной памяти (в случае сбоя узла и т. Д.), Поэтому для большую часть времени на наших хостах будет достаточно свободной памяти.

Я хотел бы узнать, что произойдет, если мы выделим, например, полные 64 ГБ, и произойдет сбой узла, так что оставшимся узлам потребуется вернуть память. Сможет ли хост освободить память из кеша? Можно ли обнаружить кеш, проверив системные процессы?

4
задан 12 May 2016 в 11:36
3 ответа

Вы задали очень конкретный вопрос - что кэш CSV делает при загрузке памяти?

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

Я подозреваю, что после относительно небольшого выделения (по умолчанию 1/2 ГБ) предельное значение больше памяти в кэше CSV мало для вас.

3
ответ дан 3 December 2019 в 02:57

Выделенные вами изменения были внесены в Windows 2012-R2, специально для SoFS.

SoFS очень удобна при чтении и может значительно выиграть от более высоких настроек кеша (макс-80% / Recommended-max-64GB)

Для Hyper-V рекомендуется быть более консервативным в отношении распределения памяти именно по той причине, которую вы указали. кеш CSV будет конкурировать за память как ресурс с виртуальными машинами на узле, особенно в ситуациях сбоя, когда машины перемещаются с узла на узел из-за сбоя узла.

Говоря это; вы просто можете использовать кэш CSV в качестве требования для проектирования вашего оборудования. Вы говорите, что у вас «много». Таким образом, в пределах этого «большого количества» памяти вам необходимо вычислить максимальный размер кеша, который вы можете использовать, не ограничивая подключение виртуальных машин.

HTH.

1
ответ дан 3 December 2019 в 02:57

Какой хранилища вы используете в качестве общего хранилища, в котором размещены ваши CSV-файлы?

Если это программное решение (программно-определяемое хранилище), я бы рекомендовал отключить собственное кеширование CSV и вместо этого использовать кеш решения. Программно-определяемое хранилище, такое как Starwind, например, имеет собственное кэширование DRAM, которое может работать в режиме обратной записи (CSV имеет кеш только для чтения) и имеет неограниченный размер (CSV ограничен 64 ГБ) и, при желании, может быть дедуплицирован (CSV не может ) https://www.starwindsoftware.com/starwind-virtual-san

3
ответ дан 3 December 2019 в 02:57

Теги

Похожие вопросы