Сохраните свой диск, запишите файлы прямо в оперативную память с помощью /dev/shm ( hiandrewquinn.github.io )
Вместо того, чтобы переписывать скрипты для хранения временных файлов в /dev/shm, вы можете просто смонтировать /tmp с помощью файловой системы tmpfs и получить то же самое преимущество для всех ваших программ. Некоторые дистрибутивы делают это по умолчанию.
Соответствующая строка из fstab:
tmpfs /tmp tmpfs noatime 0 2 Теперь любая программа, которая пишет в /tmp, будет писать на RAM-диск, тем самым предотвращая ненужный износ моего SSD.
Я упоминаю об этом в статье: «Существование /dev/shm является для меня благом в первую очередь потому, что это означает, что мне больше никогда не придется беспокоиться о том, действительно ли /tmp основан на оперативной памяти».
Теперь вам придется беспокоиться о том, сможете ли вы получить доступ к /dev/shm. Пожалуйста, поощряйте людей использовать поддерживаемые интерфейсы вместо случайного вуду ( все, что находится под /dev, чего не было в 1995 году) для повседневных задач.
/dev/shm обычно по умолчанию доступен для записи всем:
$ ls -ld /dev/shm drwxrwxrwt 3 root root 120 32 июня 02:47 /dev/shm/ Кстати, “30 лет назад” – это дата окончания для музыки, которая считается старой. Это только что заставило меня осознать, что Nevermind теперь старая, и скоро The Lonesome Crowded West тоже будет старым.
Это ненужная оптимизация, особенно для случая использования статьи (небольшие файлы, которые считываются сразу после записи). Просто используйте /tmp. Кэш буфера Linux более чем достаточно производительен для повседневного использования и, конечно, для самого интенсивного использования. Слишком легко засорить память забытыми файлами, например, указав по умолчанию /dev/shm, и вы потенциально также отнимете память у остальной системы до следующей перезагрузки.
Для автора любая польза — это всего лишь плацебо.
Безусловно, бывают случаи, когда /dev/shm — это то, что вам нужно, но это требует понимания нюансов и компромиссов (например, вы уже много думаете об управлении памятью, включая потенциальный своп).
Также не используйте -funroll-loops.
Я использую блокноты Jupyter для аналогичных целей, при этом память ядра Python сохраняет нужное мне состояние для некоторых случайных вещей, а блокнот является рецептом того, как воспроизвести вычисления/обработку.
некоторые из моих ядер работают уже несколько недель, пока я возвращаюсь и переделываю или переделываю некоторые процессы.
Самое замечательное в блокнотах Jupyter то, что вы можете чередовать однострочные коды Python с однострочными кодами Bash и смешивать их по своему усмотрению.
Просто смонтируйте tmpfs там, где у вас часто происходят записи.
Помню, как использовал RAM-диск на IBM PCjr.
Приделайте туда еще одну карту памяти на 512 Кб.
Вот для чего нужен /tmp. Не нужно умничать.
Source: news.ycombinator.com