Это хорошая практика для создания каталога /run/shm(ранее /dev/shm) и использовать его как временный каталог для приложения?
Предыстория: я пишу тесты черного ящика для программы, которая много работает с файлами и каталогами. Для каждого теста я создаю много файлов и каталогов, затем запускаю программу, затем создаю ожидаемый набор файлов и каталогов и затем запускаю diff для сравнения. Сейчас у меня около 40 тестов, и они уже занимают более 2 секунд для запуска. В надежде ускорить процесс Я хочу запустить тесты в каталоге на каком-нибудь виртуальном диске.
Изучая RAM-диск, я наткнулся на вопрос с ответом о том, что можно создавать каталог /dev/shmи использовать его как временный каталог. Однако, изучив еще кое-что, я наткнулся на вики-страницу из Debian, заявив, что это /dev/shmпрямое использование ошибки . Я должен использовать shm_*функции. К сожалению, shm_*функции не доступны для использования в сценарии оболочки.
Теперь я в замешательстве. Это нормально или не использовать /run/shm(ранее /dev/shm) как временный каталог?
/tmpэто более семантически. Если у ваших пользователей достаточно оперативной памяти для использования /dev/shmвременных файлов, чтобы ускорить процесс, они подключат его там. Но если им не хватает оперативной памяти, и его установка замедляет работу компьютера, заставляя все процессы использовать файлы подкачки, тогда они сохранят свой оперативную память для более важных задач и используют обычное дисковое пространство для /tmpфайловой системы. Другими словами, /tmpболее настраиваемый.
/tmpк общей памяти.