Подтвердить что ты не робот

/tmp vs./dev/shm для хранения файлов temp в Linux?

У меня есть сценарии, в которых сотни быстрых последовательностей, небольшие, временные файлы нужно создавать и очень скоро читать, а затем отсоединяться.

Мое тестирование показывает небольшую разницу в производительности, помещая указанные файлы в /tmp (на диск) или в /dev/shm (разделяемая память уровня файловой системы) на Linux даже при умеренной нагрузке. Я отношу это к кэшу файловой системы.

Предоставленный диск в конечном итоге попадет в действие файловой системы, но в нескольких небольших файлах с быстрой записью, почему бы вам (не) рекомендовать /dev/shm через каталог с резервной копией диска? Вы заметили, что увеличение производительности с помощью общей папки памяти по сравнению с кешированной VFS?

4b9b3361

Ответ 1

/dev/shm предназначен для особого назначения, а не для файлов, которые должны выполняться произвольными программами.

В отличие от этого /tmp точно сделано для этого. В моих системах /tmp также является tmpfs, в отличие от /var/tmp, который разработан для размещения больших файлов, возможно, дольше.

Ответ 2

Это по сути то же самое (shm также поддерживается неявным образом на диске, когда у вас есть swap файл).

Преимущество

/tmp заключается в том, что он становится сложнее (учитывая, что ваш жесткий диск, скорее всего, больше вашего swap файла). А также более широко поддерживается.