Компиляция в tmpfs. Сколько надо памяти?[РЕШЕНО]

Добрый день. Прошу прощения, если уже было. На днях обновил компьютер. На новом памяти 16 Гиг DDR4 плюс SSD диск.
Хочу заново все поставить, тем более раньше стояла 32 битная система.
Есть пара вопросов:
1. Если /var/tmp/portage будет находится в tmpfs хватит для него size=12Гиг ? к примеру, на компиляцию chromium, libreoffice, etc.., если этого мало пойду еще планку на 16 докуплю.
2. Резюмируя все что прочитал, вне ssd должны находится обязательно /var, наверное /home там вроде как ведут логи всякие браузеры и прочее. В /var как раз думаю var/tmp/portage в рам или на hdd, первое конечно быстрее, но не пойму как написал выше сколько надо. Остальное из /var на hdd. На разделах ssd планирую ext4 со включенным журналированием, поскольку интернеты пишут что потеря производительности при журналировании очень не великая. Монтирование ssd разделов с параметром discard,noatime.
Может что-то еще, а может вообще все не так?

p.s. Да еще конечно /tmp наверное на hdd

Из собственного опыта (8/16Гб)

Из собственного опыта (всего 16Гб, из них 8Гб под tmpfs:/var/tmp/) скажу что для chromium, libreoffice не хватает, но поскольку я их компилю не так часто, так то на тот редкий случай вручную перемонтирую /var/tmp/ на диск.
Если отдашь больше, как ты предлагаешь 12Гб под tmpfs, тем самым отберешь память от ОЗУ и компиляция будет медленнее, так что выигрыш вряд ли реально будет.
Так что если очень хочется /var/tmp/ всегда держать в ОЗУ, то лучше добавить памяти, если слоты и материнка позволяют (у меня, к сожалению 16Гб - предел!).

dmitry_migachev написал(а):
... Да еще конечно /tmp наверное на hdd

Вот как раз /tmp точно надо в tmpfs! :)

из 16 выделял 10. Кажется

из 16 выделял 10. Кажется хватало на все. Но я быстро бросил компилять офис, не из-за памяти, а потому что ну его нафиг. Не так часто используется, проще бинарный поставить.

/

Самый жирный из известных мне пакетов ­— dev-java/icedtea (7.2.6.8), по пессимистичному сценарию проверяет наличие 9000M.

:wq
--
Live free or die

Хорошо, наверное пойду

Хорошо, наверное пойду докупать вторую планку, на будущее наверное всё-таки лишней не будет.

Portage и так все умеет

Доброго времени суток.
Выше были предложения по выделению памяти и ручному переключению на HDD при компиляции больших пакетов.
Не надо так делать, система portage все это умеет сама, ей надо только подсказать. :)
1. Монтируем нужный каталог, примерно так (файл /etc/fstab):

tmpfs /var/tmp/portage tmpfs size=2G,uid=portage,gid=portage,mode=775,noatime 0 0

Вместо 2Gb пишем желаемый размер, например 8Gb.
2. Создаем файл /etc/portage/env/notmpfs.conf со следующим содержимым

PORTAGE_TMPDIR="/var/tmp/notmpfs"

3. Создаем файл /etc/portage/package.env, в котором перечисляем все пакеты, которые должны собираться не в памяти:

app-office/libreoffice notmpfs.conf
sys-devel/gcc notmpfs.conf

и так далее.
4. Готово!
При этом, правда, в память выносится не /tmp, а /var/tmp/portage, но, аналогично первому пункту, можно вынести и /tmp.
Удачи!

Здорово! На машинах с 2-4

Здорово! На машинах с 2-4 гигами памяти это же будет чудесно!

По поводу выделения памяти и тяжелых пакетов. С дурной привычкой не иметь swap и постоянно сидеть в иксах меня обломал на 16 GB, если память не изменяет, GIMP. А вот проверки доступного объема под временный каталог раздражают. Как только обновляется libreoffice и firefox приходится тащить их в оверлей и удалять проверки, так как на "сборочном" компьютере памяти всегда хватает. Бесил также llvm и еще какая-то ерунда...

P.S. Ну вот как можно считать этот форум мертвым?!

Странно, у меня никогда не

Странно, у меня никогда не обламывалось на проверке места, хотя временный раздел в tmpfs, чаще на сборки уходит в глухой swap на 8Gb...

Спасибо!

Спасибо!

Экое ловкое использование

Экое ловкое использование portage env!

.

evadim написал(а):
Экое ловкое использование portage env!

Я, кхм, эта...Дык вроде бы 2017 год уже - эта фича portage уже мхом обросла...
А вобще-то я о другом - почему народ на zram забил?

Порости - поросла, но я вот

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

Ест, но когда оперативки не

Ест, но когда оперативки не хватает и система лезет в своп, проц все равно простаивает )
Вместо этого, пусть займется запаковкой/распаковкой
Сейчас используется более прозрачный вариант: делать диск и размещать там своп не надо

При малой памяти: можно еще проще делать

lordalexx написал(а):
Доброго времени суток.
Выше были предложения по выделению памяти и ручному переключению на HDD при компиляции больших пакетов.
Не надо так делать, система portage все это умеет сама, ей надо только подсказать. :)

Можно еще проще делать.
Компиляция ядра vmlinuz-6.12.34-gentoo-dist занимает до 8.5 гб памяти - остальное меньше.
Кроме Chromium - тупо проверяет наличие 19 ГБ в /var/tmp/portage - если меньше - то остановка. Не нашел: где это задается.
Но реально: Chromium не использует более 11 гб.

Поэтому: и при 8 гб памяти - мотнируем с 32 гб и подключаем достаточно swap
mount -m -o rw,defaults,noatime,mode=1777,size=32G -t tmpfs /var/tmp/portage
mount -o remount,size=8G -t tmpfs /tmp

   fl=/mnt/sda3/swapfile
   sudo mkswap -F -s 8192M $fl && sudo swapon $fl && sudo swapon -s    # любой раздел
   sudo  btrfs  filesystem  mkswapfile  --size 8G  $fl                 # btrfs раздел
   sudo  filefrag $fl                    #  проверка фрагментации файла
   sudo btrfs filesystem defrag -v $fl   #  дефрагментация файла
   sudo swapon $fl
   free -m
   cat /proc/swaps 

Так: все что может - будет выполняться в памяти - ну а на что не хватит - будет автоматом скидываться в swap
И не надо дискриминации.
---
cat /proc/sys/vm/swappiness # ==> 60 Ближе к 100 - сброс в подкачку больше данных и беречь память. Ближе к 0 - не переносит данные в swapfile на диск - без крайней необходимости. Оптимально: 10
cat /proc/sys/vm/vfs_cache_pressure # ==> 100 ~ это очень быстро удалять файлы в кэше оперативной памяти. 0 - держать в памяти как можно дольше.
---
1). Не нашел: как в OpenRC выставить swappiness = 10
2). Какие оптимальные значения этих двух - при 8 гб памяти

Удачи.

Трудно первые 15 лет - потом легче

?!?

Вы уверены, что *реально* (что использованная методика измерений правильно учитывает ВСЁ использование дискового пространства)?

:wq
--
Live free or die

О каком "учитывает ВСЁ

О каком "учитывает ВСЁ использование дискового пространства" речь.

Реально занятое место на диске - это вообще квест. Большой разнобой. Больше доверия к показаниям df

Но выше было о памяти. Тут варианты: Btop и free По ним смотрю сколько занимается памяти.

Сейчас разбираюсь: есть ли смысл использования zram - прогоняю тоже самое на SSD, tmpfs, zram

trxz=qemu-9.2.3.tar.xz
fl=/mnt/sda3/Downloads/$trxz
dir=/var/zram/1 ; sudo mkdir -p  $dir  &&  cd  $dir
time sudo  cp  $fl  .    
time sudo  tar  xvJf   $trxz  
cd qemu-9.2.3
  time sudo ./configure --target-list=x86_64-softmmu 
  time sudo make -j4 -l4  

Удачи.

Трудно первые 15 лет - потом легче

а расписано все

вот тут, почему не использовать?

nordwind написал(а): вот тут,

nordwind написал(а):
вот тут, почему не использовать?

Ссылка-то не открывается, ну на данный момент у меня.

РосКомНадзор? ChildControl?

РосКомНадзор? ChildControl? :)

У меня все нормально...

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".