Различие в производительности между ramfs и tmpfs

работы bcdedit для этого на победе 7 окончательных (должен быть выполнен с контролем учётных записей прочь или в подсказке cmd с административным priv's):

bcdedit /set {current} bootstatuspolicy ignoreallfailures

Восстановить исходные настройки:

bcdedit /set {default} bootstatuspolicy displayallfailures

Описание:

Файлы Данных загрузочной конфигурации (BCD) обеспечивают хранилище, которое используется, чтобы описать приложения начальной загрузки и загрузить параметры настройки приложения. Объекты и элементы в хранилище эффективно заменяют Boot.ini.

BCDEdit является инструментом командной строки для руководящих хранилищ BCD. Это может использоваться во множестве целей, включая создание новых хранилищ, изменение существующих хранилищ, добавление опций меню начальной загрузки, и так далее.

Источники и Дополнительные материалы для чтения:

Править: Подтвержденный этот инструмент совместим с Сервером 2008 здесь

23
задан 8 May 2015 в 14:22
4 ответа

Моя рекомендация:

Измеряйте и наблюдайте за реальной активностью в нормальных условиях.

Маловероятно, что ВСЕ эти файлы понадобятся и всегда будут обслуживаться из кеша. Но есть хороший инструмент под названием vmtouch , который может сказать вам, что находится в кеше в данный момент. Вы также можете использовать его для блокировки определенных каталогов или файлов в кеше. Так что посмотрите, как выглядят вещи после регулярного использования. Использование tmpfs и ramfs в этой ситуации не требуется.

См .: http://hoytech.com/vmtouch/

Я думаю, вы удивитесь, увидев, что наиболее активные файлы, вероятно, уже будут размещены в кеше.


Что касается tmpfs и ramfs, заметной разницы в производительности нет. Есть эксплуатационные отличия. Реальный вариант использования - Oracle, где ramfs использовался, чтобы позволить Oracle управлять данными в ОЗУ без риска их подкачки. Данные tmpfs могут быть выгружены из-за нехватки памяти. Также существуют различия в изменении размера и изменении настроек на лету.

21
ответ дан 28 November 2019 в 20:19

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

13
ответ дан 28 November 2019 в 20:19

Если у вас установлен достаточный объем ОЗУ для размещения различных буферов ядра, стека приложений и кучи, обычного кэша файловой системы и всех файлов, которые вы собираетесь в него поместить, ramfs никогда не должен быть медленнее, чем tmpfs , так как это не создает риска физического ввода-вывода. Физические операции ввода-вывода, несомненно, являются основной причиной снижения производительности в этой области.

Однако, если у вас не установлен такой объем ОЗУ, использование ramfs может и, вероятно, будет медленнее, чем tmpfs , поскольку последний использует эвристику виртуальной памяти, чтобы решить, что лучше быть на диске (то есть в области подкачки), а что должно быть в ОЗУ, а с tmpfs данные вашей файловой системы застревают в ОЗУ, что может быть пустой тратой ресурсов.

1
ответ дан 28 November 2019 в 20:19

1) Тест производительности.

Используя эту страницу в качестве справки, я провел сравнение ввода-вывода между tmpfs и ramfs, и результаты показали, что это довольно почти идентичны с точки зрения производительности:

# !mount
mount | grep -E "tmp|ram"
tmpfs on /dev/shm type tmpfs (rw)
ramfs on /mnt/ram type ramfs (rw,size=1G)

# dd bs=1M count=1024 if=/dev/zero of=/dev/shm/test conv=fdatasync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 0.634054 s, 1.7 GB/s

# dd bs=1M count=1024 if=/dev/zero of=/mnt/ram/test conv=fdatasync
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 0.559557 s, 1.9 GB/s

# dd bs=1M count=4096 if=/dev/zero of=/dev/shm/test conv=fdatasync
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 2.5104 s, 1.7 GB/s

# dd bs=1M count=4096 if=/dev/zero of=/mnt/ram/test conv=fdatasync
4096+0 records in
4096+0 records out
4294967296 bytes (4.3 GB) copied, 2.36923 s, 1.8 GB/s

2) Согласно эта страница , tmpfs использует swap, а ramfs не использует swap.

7
ответ дан 28 November 2019 в 20:19

Теги

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