LINUX.ORG.RU
ФорумAdmin

А насколько разумно использовать tmpfs на серверах в роли /tmp ?

 , , , ,


0

2

Я всегда считал что это оптимизация в частных случаях. Но меня тут пытаются что нынче это майнстрим а дисковые разделы для /tmp - прошлый век.

И у меня нету аргументов. Кто нить может ввести меня в курс дела ато я нынче весь в embedded

★★★★★

Зависит от сервера. Я считаю не разумным, RAM нужнее для серверных приложений, а если что-то туда пишет то уж «это вжж не спроста» и «должно знать» что там «медленно» :)
Лично у меня в большинстве случаев /tmp практически свободен, но я всегда опасаюсь, что вдруг кому-то понадобиться там много места (раньше обжигался на этом), так что оставляю на диске большим разделом.

anc ★★★★★
()

А что делать, если мои врЕменные файлы могут быть размером в сотни Гб и жить по несколько часов?

Kiborg ★★★
()

И у меня нету аргументов.

И не должно быть. :-)

AS ★★★★★
()
Ответ на: комментарий от anc

что вдруг кому-то понадобиться там много места (раньше обжигался на
этом), так что оставляю на диске большим разделом.

Лучше сделай своп большим разделом. tmpfs сползёт туда при необходимости, и, всё равно, это будет быстро.

AS ★★★★★
()
Ответ на: комментарий от Kiborg

А что делать, если мои врЕменные файлы могут быть размером в
сотни Гб и жить по несколько часов ?

Тогда, по идее, жить они должны не в /tmp, а в /var/tmp.

AS ★★★★★
()
Ответ на: комментарий от AS

Логично, но я не уверен что все программы соблюдают это соглашение.

Плюс, как всегда, возникает вопрос, где проходит та грань, когда файл меньше надо класть в /tmp, а больше — уже в /var/tmp?

Kiborg ★★★
()
Ответ на: комментарий от AS

Лучше сделай своп большим разделом. tmpfs сползёт туда при необходимости, и, всё равно, это будет быстро.

Тут неоднозначность, кого туда сошлют а кого нет. В случае же размещения /tmp на диске это однозначно. Дисковая память дешевле рамы.

anc ★★★★★
()
Ответ на: комментарий от Kiborg

Плюс, как всегда, возникает вопрос, где проходит та грань, когда файл меньше надо класть в /tmp, а больше — уже в /var/tmp?

Ее нет. /tmp с малым TTL и быстрым стартом, подразумевается, что между перезапусками приложения его данные из нее могут пропасть (типичный пример ребут )
/var/tmp - подразумевает долгий TTL

anc ★★★★★
()

Если есть сомнения то размер tmpfs можно и ограничить.
А так в похожей теме писали что крупные файлы положенно создавать в /var/tmp

torvn77 ★★★★★
()
Ответ на: комментарий от Kiborg

Как что,довести объём ОЗУ до требуемого размера.

А вообще насколько твои суперкрупные файлы хорошо жмуться?
А то в tmpfs скоро, если не уже, должно появиться сквозное сжатие данных.

torvn77 ★★★★★
()
Ответ на: комментарий от anc

когда файл меньше надо класть в /tmp, а больше — уже в /var/tmp?

Ее нет.

Это есть тоже, не только необходимость в файле просле ребута является критерием.

AS ★★★★★
()
Ответ на: комментарий от anc

«Должны? Да никто тебе не должен»

По меньшей мере, должен gcc. Уж если надо, и я пользуюсь таким приложением, то что-то придумаю, да. :-) В конце концов, /tmp на tmpfs - это не так уж и догма, не надо прям вот так, или/или.

AS ★★★★★
()
Ответ на: комментарий от AS

Это есть тоже, не только необходимость в файле просле ребута является критерием.

Возможно, но насколько я помню именно этот вопрос является камнем преткновения во всех спорах и нигде в рекомендациях не освещен. Возможно я ошибаюсь и если у вас есть инфа по этому поводу, буду благодарен если напишите.

anc ★★★★★
()
Ответ на: комментарий от anc

Возможно я ошибаюсь и если у вас есть инфа по этому поводу,
буду благодарен если напишите.

Что-то в FHS, действительно, прямого указания я не обнаружил.
Вот тут вот мнение высказано:

https://en.opensuse.org/openSUSE:Tmp_on_tmpfs

AS ★★★★★
()

Если вы разработчик и много компилируете из сырцов, то это ускорит процесс компиляции. В остальных случаях врядли вы получите профит. Памяти реально не хватает программам, а тепт в 90 % случаев почти пустой.

В var/tmp часто пишутся сокеты коннекта , но я так и не разобрался требуют ли они io или это просто как ссылка.

luk911
()
Ответ на: комментарий от torvn77

Да я чисто из любопытства спросил, у меня пока такой проблемы как у ТС нет.

Kiborg ★★★
()

А насколько разумно использовать tmpfs на серверах в роли /tmp ?

Оперативная память — энергозависимое временное хранилище информации с быстрым доступом к ней, /tmp — хранилище временных файлов, которые становятся ненужным мусором после перезагрузки системы. Исходя из этого очевидно что для /tmp использование tmpfs гораздо разумнее использования медленных накопителей вроде HDD, предназначенных для хранения более нужной информации.

И у меня нету аргументов

И это понятно.

h578b1bde ★☆
()
Ответ на: комментарий от h578b1bde

гораздо разумнее чистить мусор и для этого есть свой орган, а не держать его в голове, а голова пусть вон думает как деньги зарабатывать :)

luk911
()
Ответ на: комментарий от luk911

гораздо разумнее чистить мусор

А ещё разумнее просто не мусорить там где не нужно.

а не держать его в голове

А я в голове мусор и не держу, у меня для этого tmpfs есть.

h578b1bde ★☆
()

tmpfs на /tmp вообще неразумная идея. Во-первых потому, что многие программы пишут туда очень объёмные файлы, а во вторых, большинство записываемых туда файлов «мусорные», к ним не нужен быстрый доступ, особенно с учётом того, что место отнимается от озу, которой всегда мало.

anonymous
()
Ответ на: комментарий от anonymous

многие программы пишут туда очень объёмные файлы
на серверах

И какие программы на серверах пишут туда объёмные файлы?

большинство записываемых туда файлов «мусорные», к ним не нужен быстрый доступ, особенно с учётом того, что место отнимается от озу, которой всегда мало

Для решения этой проблемы есть своп, с которым tmpfs прозрачно работает.

h578b1bde ★☆
()
Ответ на: комментарий от h578b1bde

И какие программы на серверах пишут туда объёмные файлы?

Те ты даже в вопросе не разбираешься? Про imagemagick не слышал?

Для решения этой проблемы есть своп,

Писать файлы в оперативку, чтобы сваппинг записал их на диск с тормозами? Xzibit, ты опять под дудкой?

anonymous
()
Ответ на: комментарий от h578b1bde

В своп свалится все без разбору, то что в данный момент не активно, когда памяти будет нехватать. К примеру мускуль был неактивен, а в tmp писался большой файл, кто попадет в своп ? оно вам надо ?

luk911
()

могу сказать про веб-сервер. Когда php сессии хранит на диске - всё тормозит просто адски под нагрузкой. А перенос на tmpfs решает проблему за 10 минут. Я, если нет других причин, монтирую tmpfs.

PS. А вообще конечно по ситуации. Ты свой сервер знаешь, знаешь что запущено и что может кушать место в /tmp. я несколько раз попадал ан проблему с местмо в /tmp, но надо сказать тогда у меня /tmp был смонтирован на диск.

AndreyKl ★★★★★
()
Последнее исправление: AndreyKl (всего исправлений: 1)
Ответ на: комментарий от Kiborg

А что делать, если мои врЕменные файлы могут быть размером в сотни Гб и жить по несколько часов?

SSD, естественно. Намного дешевле RAM и нет проблемы воткнуть такую кучу.

anonymous
()
Ответ на: комментарий от Kiborg

Плюс, как всегда, возникает вопрос, где проходит та грань, когда файл меньше надо класть в /tmp, а больше — уже в /var/tmp?

Они отличаются не по размеру файлов, а по времени хранения. /tmp очищается автоматически при каждой перезагрузке, а /var/tmp вручную.

anonymous
()
Ответ на: комментарий от torvn77

в похожей теме писали что крупные файлы положенно создавать в /var/tmp

Кого-то укусил Поттеринг. В FHS такого нет.

anonymous
()
Ответ на: комментарий от AndreyKl

интересно, а где по умолчанию хранятся php session ? в /var/tmp ? И что это за приложение которое не держит их базе или там в redis ?

luk911
()
Ответ на: комментарий от AndreyKl

CentOs /var/lib/php/session

Debian /var/lib/php5

но я так понимаю что это сессии пользователей и они определяются приложением ? Многие приложения хронят их в базе или в редисе. Может чего упустил ?

luk911
()
Ответ на: комментарий от luk911

в tmp писался большой файл

Во всех нормальных программах пути для записи больших файлов можно менять. К тому же для этого придумали /var/tmp.

h578b1bde ★☆
()
Ответ на: комментарий от anonymous

Те ты даже в вопросе не разбираешься? Про imagemagick не слышал?

Сервер серверу рознь, не?

imagemagick

$MAGICK_TEMPORARY_PATH.

Писать файлы в оперативку, чтобы сваппинг записал их на диск с тормозами?

Да, лучше сразу писать на диск с постоянными предсказуемыми тормозами, особенно когда памяти много.

h578b1bde ★☆
()
Ответ на: комментарий от anonymous

На практике для больших файлов нужно более постоянное хранилище чем /tmp, поскольку на их создание тратится больше ресурсов и, соответственно, их повторная обработка будет слишком долгой. Мелочь же, которая пишется в /tmp не так важна.

h578b1bde ★☆
()
Последнее исправление: h578b1bde (всего исправлений: 1)
Ответ на: комментарий от h578b1bde

На практике для больших файлов нужно более постоянное хранилище чем /tmp
нужно более постоянное хранилище чем /tmp

/var/tmp нужно использовать из-за этого, а не из-за размера. Большие файлы легко могут быть так организованы внутри, что после перезапуска программы бесполезны.

anonymous
()

Взял рандомный сервер из кучи:

# du -sh /tmp/
9,8G	 /tmp/

Достаточно весомый аргумент для твоего идиотского спора?

entefeed ☆☆☆
()
Ответ на: комментарий от luk911

нет, ты прав, в общем. но у php это переопределяется. иногда (даже часто) переопределяют в /tmp.

AndreyKl ★★★★★
()
Ответ на: комментарий от luk911

И что это за приложение которое не держит их базе или там в redis ?

да тыщи их на самом деле, всякие там веб сайтики написаные индусскими/русскими/украинскими/американскими профессионалами за три копейки пятьсот баксов... кто там будет заморачиваться? заказчик доволен и ладно.

AndreyKl ★★★★★
()
Ответ на: комментарий от anonymous

Писать файлы в оперативку, чтобы сваппинг записал их на диск с
тормозами? Xzibit, ты опять под дудкой?

Работа с tmpfs в свопе, что характерно, бытрее, чем работа любой другой ФС на том же самом hdd, где лежит своп. Вот в чём фокус-то. То есть, своп с учётом размера tmpfs вполне решает проблему лишней памяти.

А если ей не надо уходить в своп, то tmpfs, и вовсе, пуля.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от entefeed

достаточный аргумент чтобы предположить откуда растут руки у владельца рандомного сервера.

anonymous
()
Ответ на: комментарий от anonymous

Достаточно весомый контраргумент чтобы предположить что у контраргументирующего нет серверов сложнее лампа.

entefeed ☆☆☆
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.