LINUX.ORG.RU

нехватка ram для жирных пакетов

 , ,


0

1

Привет всем, использую генту, 16gb и zram 4gb сжатие zstd, zram-init за это все отвечает, но к сожалению уже и этого не хватает а использовать для сборки nvme как то не особо хочется

  1. поможет ли мне смена сжатие с zstd на более мощное

2)в zram-init не вижу флаг где можно увеличить либо уменьшить степень сжатие(или оно не влияет)

  1. если 1 вопрос да поможет то как мне сделать второй слот zram с этим сжатием чтобы он сработал после заполнение первого слота более быстром сжатием

  2. сильно не бейте плиз

P.s. покупка больше плашок или HDD не имеется возможно

P.s.s как выглядит сейчас

load_on_start="yes"

unload_on_stop="yes"

num_devices="2"

type0=swap
size0=$(( 1024 * 4 ))
maxs0=4
algo0=zstd level=19
labl0=zram_swap
cat /etc/fstab
#boot
UUID=4848-C9DD                            /efi        		vfat  defaults		0 2
#/efi/EFI/gentoo 			 /boot 		none  defaults,bind 	0 0

#system
UUID=0be087b8-ca5d-4e19-b12e-84af41c0e631 /                	btrfs compress=zstd:1,defaults,noatime,discard=async,autodefrag,subvol=/@ 0 0
UUID=6a25019e-9a20-43fb-8e81-9708cfb36219 /mnt/disk2 		btrfs compress=zstd:1,defaults,noatime,discard=async,autodefrag,auto 0 0

#tmps
tmpfs					 /var/tmp/portage tmpfs size=14G,uid=portage,gid=portage,mode=775,nosuid,noatime,nodev 0 0
tmpfs 					 /tmp 		  tmpfs rw,nosuid,noatime,nodev,size=4G,mode=1777 0 0
tmpfs                                     /run             tmpfs size=100M
★★

Последнее исправление: SPRATAY (всего исправлений: 3)

нехватка ram для жирных пакетов

нехватку мозгов всегда можно оплатить временем сборки.

добавь 32+ Г свопа - и вперед )

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

Я увеличевал до 8, и при небольшой нагрузке уже уходило в свап судя по фризам, идея интересная, если сработает то останется выяснить как наставить приоритеты(если занято 60% рам закинуть в зрам1 если у зрам занято 90% то из него закидывать а зрам2 при этом чтобы цепочка не ломалась, хотя хз)

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

Тогда хз, компилял на 16Гиб без проблем годами даже браузеры (если в фоне ничего ещё не ело, по крайней мере).

Тогда действительно мб проще создать свап-файл, подключить-скомпилять-отключить.

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

Может купить какой-нибудь ненадёжный дешманский ssd вроде условной адаты чисто под своп и всякие кэши?

купить «ненадёжный дешманский ssd … по своп» вместо RAM это мощный движ, конечно ж-)

anonymous
()

На что именно не хватает? На хранение промежуточных результатов сборки? Если tmpfs используешь, то gcc, например, хочет не менее 6Гб, емнип, для хранения результатов.

Какие именно пакеты имеются ввиду?

grem ★★★★★
()

этого не хватает а использовать для сборки nvme как то не особо хочется

Так используй для сборки RAM, а для отдельных, больших пакетов - nvme. Это типовое решение. В чём проблема?

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

Это первое что мне пришло на ум, уменьшенил до 1 ядра, получил тоже самое

Что-то неправильно в вашей консерватории. GCC использует примерно 2 гига на поток. И tmpfs для хранения промежуточных результатов нужно максимум 10, а по большей части достаточно 5-6 гиг. Максимум получается 12 гиг. И это безо всяких zram и свопов.

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

Компиляция/линковка с lto сжирает очень много памяти, и это один процесс. Например, линковка c lto ржавой (rust) части последних версий firefox сжирает 14+ гигов.

Оключи lto (use флаги, custom cflags). Собирай clang’ом, он менее требовательный к памяти, но немного медленный.

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

ram будет посложнее купить, она должне быть совместима с уже установленной, а это практически нереально. Заменять ram целиком явно будет дороже чем дешёвые ssd. SSD же пойдёт любой, а пара SSD может объединиться в raid0 с неплохойскоростью чтения (опять же, речь идёт об использовании чисто под кэш/своп, не под важные данные конечно же)

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

ram будет посложнее купить,

как г0вна даже сейчас

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

датычо? )

Заменять ram целиком явно будет дороже чем дешёвые ssd.

дороже, но не критично, зато навсегда

SSD же пойдёт любой,

пока не крякнет (в самый ответственный момент)

anonymous
()

Каким именно пакетам не хватает памяти для сборки? В Gentoo жирные пакеты частенько имеют вариант -bin.

Ну и как верно заметили, 16Гб без всяких zram хватает для сборки практически любых пакетов, тем что не хватает(а их по пальцам) можно /tmp отдельно на диске указать, да, будет медленнее, но не так часто ты их собираешь.

У меня раньше вот так было для пакетов которые своим /tmp в память не влезали

В package.env
app-office/libreoffice notmpfs.conf

В /etc/portage/env/notmpfs.conf
PORTAGE_TMPDIR="/var/portage-tmp" 
Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 1)
Ответ на: комментарий от One

Наверное кто-то использует, мне даже лень(ради 2-5% ускорения теоретического) искать что это такое. А когда я свою генту настраивал(лет 10 назад), этих терминов(ладно, ладно, юз флагов) ещё не было.

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

настраивал(лет 10 назад),

Лет 10-15 назад как раз это и было дико популярно, я сборки андроид с LTO лепил, сжирало и за 32гб памяти

One ★★★★★
()
Последнее исправление: One (всего исправлений: 1)

algo0=zstd level=19

level=19

Это не работает, насколько я знаю. Чтобы поменять степень сжатия алгоритма надо патчить ядро:

--- a/include/linux/zstd_lib.h
+++ b/include/linux/zstd_lib.h
@@ -85,7 +85,7 @@
  *  Default constant
  ***************************************/
 #ifndef ZSTD_CLEVEL_DEFAULT
-#  define ZSTD_CLEVEL_DEFAULT 3
+#  define ZSTD_CLEVEL_DEFAULT 19
 #endif
 
 /* *************************************

Кроме того, ни в мане, ни в скриптах zram-init нигде нет упоминания про изменения степени сжатия. Может быть со старыми версиями ядра это можно было сделать, но сейчас вот так.

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

Я понимаю, что это проще всего, но портить nvme как то не хочется

Для сборки 1-2 пакетов раз в месяц, это для NVME(почти для любого) такая мелочь. У меня самсунгу терабайтному уже 4 года скоро, так до сих пор 30Тб записано, а у него 600TBW по паспорту, т.е. 5% за 4 года. А на нём и хомяк и корень, всё на нём. Я сам то не уверен что до его смерти доживу такими темпами.

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

Однако

$ grep -qr algorithm_params zram-init-main/ && echo ok || echo not found 
not found

$ grep -qr comp_algorithm zram-init-main/ && echo ok || echo not found
ok

Так что, видимо, всё же твоя настройка не срабатывает. Проверить, я так понимаю, это невозможно, так как файл algorithm_params WO.

stabilitron
()

zram 4gb сжатие zstd

Зачем тебе zram? Сделай нормальный дисковый свап и используй zswap. Пусть обьем дискового свапа будет равен объему оперативной памяти. Это будет эффективнее, чем zram

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

Ну да, а по акциям МММ 50% годовых, Лёня Голубков же обещает, «по паспорту».

Работая с ССД не надо смотреть на от балды рисуемые цифирки, после акта купли-продажи они не имеют смысла вообще. Надо делать бекапы.

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

На интеловском ноуте сижу на drm-tip снапшоте ибо для интела он лучший.

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

Qui-Gon ★★★★★
()

плюсую к уменьшению количества процессов. Но понятно магия весьма ограничена и если пакету надо 13Гб тупо на временные файлы вроде как фаерфоксу с pgo то выше головы не прыгнешь.

16Гб рам - это очень, очень, просто неприемлемо мало. 32 - это не жырныйЪ жырЪ - это тупо минимум. С 16 так или иначе придется страдать и жертвовать циклами записи ССД.

Qui-Gon ★★★★★
()

Мне кажется zram тут бесполезное баловство, и в целом надо умерить пыл и собирать большие пакеты на ssd.

  • Твои 16 гигов делятся между tmpfs под портеж, дисковым кешем, памятью для компилятора и памятью под zram.
  • Предположим, ты собираешь фуррифокс который съел 8 гигабайт в tmpfs. У тебя осталось 8 гигов под всё остальное.
  • Если ты начал свапиться из-за нехватки памяти компилятору, то это конец - zram начнёт отъедать оперативку которой тебе уже не хватает.
Gary ★★★★★
()
Ответ на: комментарий от anonymous

Работая с ССД не надо смотреть на от балды рисуемые цифирки, после акта купли-продажи они не имеют смысла вообще

Да, я знаю, что контроллер скорее сдохнет(поэтому кстати взял сосунг на промышленном контроллере), но ТС же писал именно про расход ресурса записи, так вот ресурса там обычно хоть жопой жуй. А смерть контроллера от того сколько ты на него будешь писать не особо зависит.

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

перестаньте пугать уважаемых джентльменов старыми протухшими пугалками. Контроллеры давно уже не дохнут как тараканы от дихлофоса.

У меня этих ссд вагон скопился и последние сдохшие были древние как говно динозавра круциалы. Причем они сдохли не почтенными седыми старцами а во времена можно сказать юности своей - чем предопределили мою нелюбовь к круциалу как вендору контроллеров - я лучше китайца безродного сейчас возьму чем круциал. Но что-то мне подсказывает что сейчас даже круциалы не дохнут ( не просите - пробовать не буду ).

Qui-Gon ★★★★★
()
Ответ на: комментарий от Gary

в целом надо умерить пыл и собирать большие пакеты на ssd.

В целом надо умерить пыл и оценить стоимость своего времени и докупить плашку памяти … да и официальные бинарники уже с год есть на крупное

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

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

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

Я понимаю, что это проще всего, но портить nvme как то не хочется, поэтому написал что свап раздел не особо охота

Заботиться об ssd - сомнительная затея, всегда держу свап на них. Лишь бы он быстрый был, дешевые nvme без dram из говна и палок в ноутах ведут себя порой хуже hdd.

altwazar ★★★★
()