Частая компиляция и жизнь винта
Задался я следующим вопросом, если я практичесски каждый день компилирую чтонибудь на сервере (делаю сборки под разные ПК, обнавляю сам сервер, пробую новые программы и т.д. и т.п.) тоесть сервер всевремя мучает винт emerge-м насколько я могу судить это не самым лучшим образом сказывается на "здоровье" винта, так ли это?
У кого какие мысли по этому поводу?
А ещё лучще обоснованное мнение.
Собтственно у меня возникла мысль, а можно ли организовать раздел в ОЗУ ну скажем размером в 4-5Гб чтобы использовать его как tmp директорию для portage. Скажу честно я ещё ничего не искал на эту тематику, может кто то поделится толковой инструкцией, и/или личным опытом.
-----------------------------------
В общем результат следующий:
в fstab добавил
tmpfs /home/tmp tmpfs defaults,size=5G,nr_inodes=1M,mode=0700 0 0
nr_inodes=1M меньшего значения приводил к обваливанию компиляции gcc могу предположить что ещё какие-то пакеты могут вести себя подобным образом.
С использованием указанного раздела не собрался libreoffice при конфигурирование потребовал размер tmp не менее 9Гб, всего у меня памяти сейчас установлено 8Гб, поэтому собирал на винте.
Субьективно прироста производительности я не наблюдаю, но надеюсь это позволит прожить винту чуть дольше предидущего :)
- Для комментирования войдите или зарегистрируйтесь
Как и любой вещи(особенно с
Как и любой вещи(особенно с механикой) юзанье ее портит, но в случае винча можно об этом не задумываться. НО наблюдение за SMART и создание бэкапов все равно необходимо.
почитайте про tmpfs
В целом я согласен :) но по
В целом я согласен :) но по факту могу сказать что блековый винт от WD в таком режиме пропработал всего год, и стал сыпаться именно в том разделе который использовался для tmp portage так что задумываться всеже приходится, хотя я пока немогу найти подтверждения что причиной был имеено режим эксплуатации.
Насчет tmpfs спасибо это судя по всему именно то что мне нужно
я новичок и
возможно, плохо понимаю принципы работы системы с памятью, но неужели кеширование данных с жесткого диска в оперативной памяти не делает использование tmpfs бессмысленным?
может, имеет смысл просто поиграть с параметрами монтирования раздела?
Для чтения - да, для записи
Для чтения - да, для записи -- нет, не в этом сценарии.
Часто бывает, что на
Часто бывает, что на распаковку/конфигурирование пакета уходит больше времени (или соразмерно), чем на собственно компиляцию. И tmpfs помогает.
P.S.: Linux - это красная таблетка :-) Windows - синяя...
Только WD еще ни о чем не
Только WD еще ни о чем не говорит - надо смотреть по моделям. У них есть и диски для интенсивной работы, и модели с пластмассовыми (!) подшипниками, которые через год работы на сервере просто рассыпались... :)
Не надо надеяться, что копеечный диск прослужит вечность. SMART-мониторинг с установленным автотестированием на Линуксовых машинах делается очень просто и должен быть обязателен для грамотной эксплуатации, если не хотите себе проблем.
Ежели речь идет о
Ежели речь идет о терабайтниках и выше - то тут WD выпустило весьма сырую и неудачную (ИМХО) вещь. Там используется Adwanced Format , на контроллере винта мутят с кластерами аки хотят. То, что видно снаружи - чистая эмуляция. Настоятельно рекомендуется использовать выравнивание разделов. В нашей конторе втечение года упал пяток гринов от WD, и с гентой это никак не связано.
По факту же, могу сказать что имею раздел с хомами 200 винюзеров, со средним проценом утилизации IO около 60. Винты ( в рейде ессно ) держатся шестой год и (судя по показаниям smart) не скрипят.
tmpfs же
назвать как душе угодно и вместо emerge вызывать что_душе_угодно
размер подогнать
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
Зачем такие выкрутасы, можно
Зачем такие выкрутасы, можно просто в /etc/fstab указать монтировать на /var/tmp/portage tmpfs (/dev/shm), в опциях монтирования указать максимальный размер выделения памяти?
Как ты знаешь, память будет выделяться только по необходимости и высвобождаться впоследствии, после завершения сборки пакета.
ппц
а теперь попробуй собрать 3 версии гцц (обновление мира, оха) даже в 6.3 гигах рамы, отведённых под tmpfs и в 1.7 гигах оставшейся
потом приходи
по одному пакету собирать даже не предлагай
про fstab я отлично знаю и использую
хоть бы подпись посмотрел, прежде чем писать такие очевидные вещи...
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
надо бы развивать
Кстати многое с твоего блога себе перетянул, спасибо.
Есть идея по автоматизации сборки больших пакетов на винте а не в tmpfs, реализуемая как мне видится двумя способами:
1. В твоем скрипте - парсингом собираемых пакетов в строке emerge и запуском emerge дважды:
- с tmpfs - для всех небольших пакетов из задания
- без tmpfs (после umount) - на винте - для всяких firefox, libreoffice и иже с ними
2. аналогичное - через /etc/portage/bashrc - с анализом что за пакет и соответствующим (не)применением tmpfs для его сборки.
Список пакетов хранить где-нить в /etc/portage/no_tmpfs
анализировать подключен ли /var/tmp/portage в RAM например через df -h - там же и его размер брать для последующего перемонтирования...
и еще одно соображение... неплохо бы анализировать в скрипте случаи, когда компиляция заканчивается ошибкой и не размонтировать /var/portage/tmp, дабы по-надобности - глянуть логи, попатчить и т.п.
(все imho)
Да пребудет с тобой великий Linux.
у меня есть похожая мысля
но реализация несколько проще
костыль в bashrc
список гигантов в package.notmpfs
и для них диру сборки менять на /var/tmp/portage_notmpfs, например
но это надо проверить - не знаю просто, сработает ли дира для отдельного пакета, или это ro переменная или просто глобальная
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
Цитата: а теперь попробуй
Зачем тебе 3 версии gcc, я понимаю одна версия gcc-3.X которая не обновляется, для сборки чего-либо старого и одна версия gcc-4.X, которая обновляется (требуется 1,5-1,7 Гб).
И что посмотрел, вижу. Тебе что писать нельзя или у тебя мания величия ?
про версии
побуду кэпом, так и пыть, снизойду :3
куда - одна версия умеет только 4.5 или ниже
другая только 4.4 и ниже
первогруб на 32 с 4.6 собираецо, но не работает
так же кто-то тут писал, что овер мой костыль таки смог собрать кеды3 в системе со свежим гцц в роли текущего
короче - зри в корень, но не забывай башкой мотать иногда для расширения кругозора || грозит близорукостью
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
megabaks написал(а): так и
Смотри не упади.
Специально для тебя поставил отдельно gcc-4.6.2, переключился на него и пересобрал grub-0.97-r10, установил на флешку, работает, ради теста запустил memtest., так что ты ошибся, твои сведения не верны.
При чём здесь твой костыль, если софт можно собрать с определённой версией компилятора, он соберётся, пусть даже, возможно придётся подправить исходники, если нельзя то твой костыль не поможет.
Я собирал gcc-4.6.2 в 2 Гб tmpfs, собралось, выделение памяти максимум было в районе 1,7-1,8 Гб под tmpfs, так что при 6,3 Гб tmpfs ты сможешь собрать 3 версии gcc одновременно, только смысла в этом не вижу, оха.
А вот это уже лишнее, если не можешь нормально обосновать свои мысли и чётко выражаться лучше промолчи.
мда...
специально для тебя - ты не той версией пробовал
я пробовал с 4.6.1 когда 4.6.2 ещё не было
а за это можно и по ушам получить
а теперь осиль понятие удобства - это раз
как ты собрался править cuda для совместимости с 4.6?
и вообще - править исходники вместо простого
разупорина прими и больше не пиши такую чушь
ты точно неадекват!
короче, мне просто жаль потраченного на тебя времени, с такими неадекватами разговаривать не о чем
разговор окончен
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
Цитата: специально для тебя
Ты сказал 4.6 я попробовал последнюю - собралось и работает, конкретную версию ты не указал, так что не че говорить что я не прав. Не прав - ты.
Ну как ребёнок, ё-мое, ты был не прав, я указал на это выше.
Я этого не отритцаю, но вот скажи ты каждый раз пересобираешь сразу 3 версии gcc, от силы одну - две.
Мы же цивилизованные люди, зачем ты переходишь на оскорбления, эх дитё.
Про 6.3 Гб tmpfs я тебе привёл пример, т.к. ты сам об этом упомянул, по сути на компе с 8 Гб Ram выделить такой объём под tmpfs ничего не стоит, да у меня есть столько оперативки.
По поводу твоего времени, раз ты постоянно находишься на этом форуме или на LoR у тебя его много.
На последний мой комментарий в предыдущем сообщении ты не ответил.
Megabaks, если не можешь нормально изъясняться, то лучше вообще ничего не пиши.
[censored]
а надо было уточнить, не?
раз собрался тесты делать - я ещё и не прав, лол
это был просто пример, или ты даже этого понять не в состоянии?
перечитай свой пост - там как раз отрицание этого костыля и сомнения в его нужности
разупорись уже
я могу нормально изъясняться, но только с нормальными адекватными людьми, в число которых ты пока не входишь
ты от поста к посту меняешь мнение - о каком разговоре речь тогда!?
а вот это
вообще чушь собачья
мой костыль как раз и задаёт определённую версию компилятора, зачем править исходники...мне не понять без веществ
и почему же мой костыль не поможет?
версию нужную он задаст в любом случае - всё соберётся
короче - ты прежде чем писать, головой подумай ЧТО ты писать собрался
реально дитё - то вашим, то нашим...тьфу
и о каком каменте речь?
на который я не ответил
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
kostik87 написал(а): По
я его проведу бОльшей пользой, нежели общаясь с тобой
кстати, дай ник на лоре - подружусь там с тобой
не хватало ещё и там твоего бреда
Здесь были линки но пришла Larry и их слизнула =)
Данный аккаунт забанен так как его владелец не умеет себя культурно вести на форуме. /// WBR alexxy
По осторожнее на поворотах
По осторожнее на поворотах.
Грубость, переход на личности, оскорбления, угроза физической расправы... Так как тебя уже предупреждали, забаним тебя на недельку.
Неспособность аргументированно доказать свою точку зрения и переход на личности, намекает на отсутствие этих самых аргументов. Ты не на ЛОРе или опеннете, здесь нормальная комманда модераторов.
костик правильно сказал,
evadim правильно сделал, всегда надо быть ближе к народу) Молодцы ребята! А вообще давайте жить дружно (кот Леопольд)
fstab:tmpfs /tmp tmpfs
можно конечно изъ@ся на тему крутяцких скриптов на баше но зачем?
хотя....каждому свое...
.
Динамический размер?
Интересно...
:wq
--
Live free or die
что не так? просто 6 гигов
что не так? просто 6 гигов оперативы вроде хватает ну можно добавить blksize=4096
Динамический размер плохо. :
Динамический размер плохо. : ) Особенно когда произойдёт регрессия при компиляции.
/
Существенно зависит от типа жёсткого диска.
Если это сервер (Опен Офисы не собираются), то можно просто смонтировать
/var/tmp/portage
(в размере порядка 4 гигов) в оперативную память и не париться.:wq
--
Live free or die
В том то и дело что на этой
В том то и дело что на этой машине я подготавливаю stage4 для десктопов тоесть собираются довольно большие пакеты включая Libreoffice почитал пару статеет по tmpfs говорят что 3,5 гигов должно хватить для сборки OpenOffice думаю для Libre это тоже справедливо, буду пробовать.
если не хватит он сразу на
если не хватит он сразу на этапе конфигурации ругнется и остановит процесс сборки
Это хорошо. Кстати говоря при
Это хорошо. Кстати говоря при монтировании tmpfs также стоит уделить внимание inodes при слишком маленьком значении компиляция останавливается в некоторых местах с руганью на недостаток места пока меня устроил параметр nr_inodes=1M
незнал, спасибо за инфу
незнал, спасибо за инфу
Хех. У меня он перед
Хех. У меня он перед конфигурацией бросал предупреждение, что нужно 9Гб ОЗУ, хотя свободной было ~4.5 и продолжил конфигурировать и собирать и на финальных этапах комп бросил предупреждение, что ЖД закончился и установка прекратилась.
Не хватит, он может 6-7Гб
Не хватит, он может 6-7Гб захавать.
В общем результат
В общем результат следующий:
в fstab добавил
nr_inodes=1M меньшего значения приводил к обваливанию компиляции gcc могу предположить что ещё какие-то пакеты могут вести себя подобным образом.
С использованием указанного раздела не собрался libreoffice при конфигурирование потребовал размер tmp не менее 9Гб, всего у меня памяти сейчас установлено 8Гб, поэтому собирал на винте.
Субьективно прироста производительности я не наблюдаю, но надеюсь это позволит прожить винту чуть дольше предидущего :)
vitek написал(а): В общем
Интересный тезис.
Спасибо за выделение ньюанса.
Без указания в списке опций числа инодов на 4 гиговом разделе у меня их как раз порядка одного миллиона. amd64.
:wq
--
Live free or die
интересные мнения здесь, но
интересные мнения здесь, но лучше перейти на freebsd.
BSD спасет вас от массивных повреждения жесткого диска. Принцип работы hdd в Unix абсолютно отличается от любого дистрибутива Linux.
Я использую Gentoo, потому что он основан на BSD и потому что он очень продуктивен, но есть и маленькие недостатки, например, максимальное использование жесткого диска во время компиляции
root2 написал(а): BSD спасет
Щито?
Щито?
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Типа
Типа так:
P.S.: Linux - это красная таблетка :-) Windows - синяя...
Это вот к чему?
Это вот к чему?
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Уже забыли предмет
Уже забыли предмет обсуждения? :)
В процессе обсуждения пришли к вопросу, как АВТОМАТИЗИРОВАТЬ измнение PORTAGE_TMPDIR для КОНКРЕТНЫХ пакетов. Этим методом можно автоматизировать зменение и других переменных, не только TMPDIR. Можно делать что угодно, причем средствами emerge/ebuild не вмешваясь при этом в их работу.
emerge заглядывает в /etc/portage/bashrc, если там присутствует собираемый пакет, выполняются команды (до сборки пакета). После сборки данного конкретного пакета все изменные переменные восстанавливаются. POP/PUSH переменные окружения. При этом не надо писать велосипеды (один из камменов).
P.S.: Linux - это красная таблетка :-) Windows - синяя...
Aladdin написал(а): Уже
Предмет обсуждения — первое сообщение в теме. А если нить обсуждения ушла в сторону, то и отвечать надо в соответствующую подветку.
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
тогда почему бы модераторам
тогда почему бы модераторам не остановить обсуждение? типа, ушло в сторону, по вашему мнению. А по-моему, не ушло. Просто появилось решение, как заюзать гигабайты РАМы с минимумом костылей.
P.S.: Linux - это красная таблетка :-) Windows - синяя...
Вот и отвечать надо на то
Вот и отвечать надо на то сообщение, где речь шла про tmpfs
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.
Ну, теперь-то точно на мой
Ну, теперь-то точно на мой ответ обратили внимание :)
P.S.: Linux - это красная таблетка :-) Windows - синяя...
.
Открою страшную тайну: не все читают форум в древовидном представлении.
Только тс-с-с... Никому не говори об этом! :)
:wq
--
Live free or die
Задался я следующим вопросом,
Все как бы элементарно просто:
1) ресурс SSD ограничивается по кол-ву записи в яэейки
2) ресурс мехнических HDD ( в случае вменяемых винтов) ограничен скорее кол-вом циклов start/stop, чем временем записи/чтения.
Вывод - все фигня, винты для того и есть, что бы на них писать
Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)