Дмитрий Сергеевич (axshavan) wrote,
Дмитрий Сергеевич
axshavan

TMP_SIZE и RAMTMP

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

Итак, напомню, установил себе Linux Mint Debian. А ещё у меня есть ASUS eeePad Transformer. И - вот те раз - не закачиваются на планшет большие файлы. Маленькие - пожалуйста, а большие - хрен. Жена ворчит, хочет на планшете кино посмотреть на диване.

От фильма размером примерно 750 Мб закачивается 402 Мб, потом ошибка. Закачивается, кстати, в два приёма - сначала быстро-быстро это 402 Мб копируются куда-то, потом вылезает ошибка, и пока я думаю, что с ней делать, эти 402 Мб заливаются на планшет. Ага, стало быть, используется какой-то буфер.

В линуксе есть команда df, которая показывает состояние всех примонтированных файловых систем. Гляжу - а у меня как раз отдельно примонтирована папка /tmp размером 402 Мб и тип tmpfs, то есть размещается в оперативной памяти. Сначала я пытался найти какие-нибудь параметры команды mount, чтоб без буфера в /tmp хуярить данные прямо в планшет, но все попытки оказались неудачными. Тогда я решил разобраться с /tmp. Вариантов немного - либо увеличить до 800 Мб, что, наверное, не очень хорошо, потому что желающих срать в /tmp много, а при нехватке памяти система начнёт активно свопиться (у моего компьютера всего 2 Гб ОЗУ, а включен он постоянно, так что это имеет шанс быстро произойти). Либо выкинуть /tmp из памяти на диск, что, по идее, должно вызвать незначительные притормаживания вообще всего. Я выбрал второй вариант, делается это так:

В файле /etc/default/rcS есть параметры:
RAMLOCK - монтировать /run/lock в память в качестве tmpfs отдельно от /run
RAMSHM - монтировать /run/shm в память отдельно от /run
RAMTMP - монтировать /tmp в память в качестве tmpfs
Могут принимать значения yes и no. Чтоб папка /tmp не монтировалась в память как tmp, надо указать RAMTMP=no.

Если же хотите увеличить размер /tmp в памяти, надо открыть файл /etc/default/tmpfs, и в нём исправить значения TMPFS_SIZE (максимальный размер вообще всех tmpfs) и TMP_SIZE (максимальный размер конкретно /tmp). Можно указывать точный размер, а можно писать, например, TMPFS_SIZE=20%, чтоб оно занимало не более 1/5 оперативной памяти.

После изменения этих параметров надо перезагрузиться. А мне, наверное, надо докупить планку памяти... никто не знает, DDR2 ещё выпускают? :)

Оригинал записи http://blog.axshavan.ru/2012/05/tmpsize-and-ramtmp.html
Tags: *nix, железо
Subscribe

  • Плёнка №174 - кафенол

    Когда я впервые услышал про проявку фотоплёнок в кофе, я подумал, что это шутка. Ну как можно проявлять плёнки в том, что мы пьём? Но, тем не менее,…

  • Не про пятницу, хотя и пятница

    Уфф, наконец-то закончилась эта трудовая неделя! Вечер пятницы :) Завершил свой день, отправив в чатик отчёт о проделанной за день работе, откинулся…

  • Жопятница

    Вчера денёк выдался просто пиздец. Начался он в десять минут четвёртого ночи, когда мы были разбужены невероятным грохотом, как будто что-то очень…

  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments