[sisyphus] tmpfs usage

Michael Shigorin mike на osdn.org.ua
Вс Мар 18 22:00:53 MSK 2007


On Sun, Mar 18, 2007 at 01:44:33PM -0400, Ivan Adzhubey wrote:
> >  > Засуньте на tmpfs, если памяти хватает
> > Вот - это самый интересный вопрос - какая должна быть память, какой Swap
> > и какой размер отвести под /tmp для записи двухслойного DVD, например
> > через K3b, который по-умолчанию кладёт образ в /tm/.private.. :)
> Ну наконец-то хоть кто-то меня поддержал ;-) А то дискуссия
> стремительным домкратом ушла в направлении обсуждения
> /tmp/.private, то есть мелких деталей, которые меня пока не
> интересуют совершенно, а на мои вопросы, с которых этот тред
> начался, господа разработчики забили.

Простите, там получился перевязанный пучок трёх проблем:

- /tmp/... vs /home/.../tmp
- tmpfs vs filesystem
- сервер vs десктоп

> > По сути дискусси - я не понял самого главного
> > - какая цель приследуются при переводе /tmp под tmpfs ?
> > (предпологаю повышения быстродействия системы ?)

Насколько понимаю, мало кто делает выделенный раздел /tmp.

Таким образом, он оказывается на корне (мало кто делает
bind mount /var/tmp туда, а те немногие -- уже ходили 
в багзилу с жалобами на mount).

Отсюда забитие /tmp порождает забитие / со всеми вытекающими.

Выход: отрезать отдельный раздел, который будет преимущественно
"гулять", или снизить использование /tmp.

Первый вариант реализуется /tmp на tmpfs, которая живёт в 
RAM+swap; увеличив своп на размер потенциально выделенного под
отдельный /tmp дискового пространства, получаем одним байтом
двоих зайцев: когда нужен своп, это место будет использовано
под него; когда нужен /tmp -- под него.

Более динамическое использование ресурса -- ср. с необходимостью
забивать руками при сборке ядра выделение памяти под page cache
в OpenBSD несколько лет тому против линуксового динамического.

> > - в каких случаях это реально повышает быстродействие,
> > а в каких нет ?

В тех, когда работа с временными файлами напряжённая.

> Вот-вот. В чем идея-то?? И как реализация на tmpfs практически
> повлияет на сервер/кластер работающий с 80 гигабайтами
> временных файлов в /tmp? Правильно я понимаю, что в таком
> случае ни о каком /tmp на tmpfs не может идти речи?

Скорее да.

> А когда может? Когда начинает расти производительность, а когда
> - падать?  Кто-нибудь вооще это мерял?

Можно попробовать поставить такой эксперимент (тут тоже по 80Gb
в /tmp при RAM 8Gb), но мне почему-то кажется более осмысленным
на такие /tmp совать reiserfs -o notail,noatime.

Возможно, потому, что баланс объёма данных и типичной работы 
с ними тут скорее отличается от "положить одну исошку" или даже
"собрать kde".

-- 
 ---- WBR, Michael Shigorin <mike на altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


Подробная информация о списке рассылки Sisyphus