В 21 веке оперативная память стоит копейки, и зачастую у читателя стоит не меньше 4ГБ RAM.
Можно с большой вероятностью сказать, что она мало когда полностью используется, и начинает заполняться swap раздел. Почему бы не использовать оперативку еще больше?
Воспользуемся таким способом, как монтирование директорий в tmpfs – файловую систему, находящуюся в оперативной памяти. Поместив директорию в область виртуальной памяти мы заметно ускорим доступ к файлам, которые будут туда записаны. Стоит учесть, что все файлы, помещенные в такую директорию будут утеряны после выключения питания или перезагрузки.
Для начала, давайте определим размер имеющейся в наличии оперативки, а вдруг мы не знаем. Заодно узнаем производителя и частоту, на которой она работает.
Воспользуемся утилитой, для просмотра информации из таблицы DMI(SMBIOS).
sudo dmidecode --type 17
У меня получилось что-то, вроде:
# dmidecode 2.9
SMBIOS 2.6 present.
Handle 0x0024, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0023
Error Information Handle: 0x0025
Total Width: 64 bits
Data Width: 8 bits
Size: 2048 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK0
Type: out of spec
Type Detail: Synchronous
Speed: 1066 MHz (0.9 ns)
Manufacturer: Samsung
Serial Number: 641DE5AC
Asset Tag: Unknown
Part Number: M471B5773CHS-CH9
Handle 0x0028, DMI type 17, 28 bytes
Memory Device
Array Handle: 0x0023
Error Information Handle: 0x0029
Total Width: 64 bits
Data Width: 8 bits
Size: 4096 MB
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator: BANK0
Type: out of spec
Type Detail: Synchronous
Speed: 1066 MHz (0.9 ns)
Manufacturer: Unknown
Serial Number: 00000000
Asset Tag: Unknown
Part Number: GR1333S364L9/4G
Сложив колонки Size мы получим итоговый размер памяти.
Вы наверняка знаете, что в Linux используется устройство /dev/shm, которое представляет собой оперативную память. Обычно размер /dev/shm в два раза меньше размера RAM памяти
df -h /dev/shm
Filesystem Size Used Avail Use% Mounted on
tmpfs 3.0G 212K 3.0G 1% /dev/shm
Но его можно изменить. Для временного изменения размера, воспользуйтесь командой mount:
mount -o remount,size=4G /dev/shm
Для постоянного, воспользуйтесь изменением /etc/fstab. Нужны рутовые привилегии.
echo 'tmpfs /dev/shm tmpfs defaults,size=2g 0 0' >> /etc/fstab
С размером доступной для оперирования оперативной памяти мы определились, осталось использовать её по назначению. Я монтирую RAM на /tmp и \$HOME/.cache Вот образец моего /etc/fstab:
tmpfs /tmp tmpfs defaults 0 0
tmpfs /home/insider/.cache tmpfs size=256M 0 0
После изменения fstab перезагружаемся или выполняем
mount -a
и радуемся жизни, но всё же лучше перезагрузиться, т.к. монтирование потрет файлы в /tmp, что может привести к некорректной работе системы.
Работа системы должна немного ускориться.