DDR3 у меня. И не с хорошей частотой. Взял на авито. Видел предложения с DDR4 ECC на ali. И материнки с поддержкой там же. Если не нравиться али, то можно поискать на авито, некоторые там предложения с али перепродают.
Вместо zram просто вырубаю swap.
Вместо zswap просто не использую swap.
В итоге, из 12 гигов памяти изредка 10 использую, в среднем 4 гига и в своп уходить нечему просто, поэтому ни то ни другое лично мне ненужно, всё работает как есть без финтов ушами.
Если случится так что кто-то вдруг выжрет всю память, пойду попить чайку пока ООМ придёт и порешает. Ибо если был бы если свап то он был бы на HDD очень древнем и ООМ не придёт и слайдшоу не даст что-то сделать толком.
Проще будет пойти и взять DDR3 планочку на 4 гига и заменить ту что у меня сейчас на 2 гига и будет у меня 16 и это всё ибо максимум 16 гигов материнка поддерживает (если не ошибаюсь).
Вывод в некоторых случаях ни zram ни zswap ненужны от слова совсем. Только проблем принесут.
На старом ноуте с 8 гб памяти поставил zswap, я запускал там жрущую память игрушку (Oxygen not included), стала грузится намного быстрее, чем со свапом. На десктопе 32 гиг, не особо нужно.
Где-то читал, что своп не является расширением озу, и он таки нужен, иначе какие-то там данные система вынуждена каждый раз загружать с диска, а это медленнее, чем брать из свопа на том же диске. Да, отключение свопа типа не оставляет всё в памяти, а просто выкидывает из неё то, что могло пойти в своп.
Использование свопа при нехватке озу совсем не штатная ситуация, а скорее сигнал к тому, что пора покупать ещё озу.
В результате отсутствие свопа замедляет систему, хотя на десктопе может это и не заметно будет.
Всё так, файловые странички просто выкидываются, при надобности снова данные загружаются уже с диска снова.
Не знаю как у кого, но у меня некоторые эффекты связанные с этим проявляются только тогда когда память занята более чем на половину.
Когда я знаю что сейчас я буду кушать RAM я свап включаю, но это неизбежно приводит к фризам в системе из за частого доступа к диску.
В итоге, в большинстве случаев на глаз выкидывание из памяти того что могло быть просто отложено в свап мне не мешает никак.
В случае наличия свапа, его нужно правильно настроить иначе у всего будет одинаковый приоритет улёта в свап что автоматически породит постоянное дрыгание накопителя что уже будет заметно на глаз как более долгий отклик приложений и вообще пробуксовка того что не трогалось некоторое время.
Обходной путь использовать всё же постоянно пустующую память как свап через использование swap файла лежащего в tmpfs. Таким образом при наличии всегда пустой оперативной памяти (как у меня) будет наличие и свапа, ненужные страницы будут выгружаться в свап который на деле та же сама я RAM и всё.
Но всё зависит от ситуации, можно просто включить свап, ничего не настраивать и смирится что когда дело дойдёт до его чтения (запись не в счёт) будут пролаги приложения или рабочего окружения.
Своп нужно настраивать иначе будут либо при его отсуцтвии лаги при доступе к ХДД или при его наличии лаги при доступе к ХДД. Короче шо то, шо это.
Ну и если машина рабочая и нельзя просто из за переполнения памяти тоесть нештатной ситуации потерять всё, а кое как успеть сохранить работу. Без свапа ООМ придёт гораздо быстрее. Когда есть свап он вообще может не придти никогда.
Ситуация многогранная, одно можно сказать точно, система рассчитывает на наличие свапа и использует его при необходимости, но и без него жить может =)
Мне как ленивой жопе проще его вырубить чем настраивать ибо я раньше пытался на деле херня получается. Хотя это было давно, может я делал что не так и стоит его всё же подтюнить. Но опять же бесполезно тюнить на глаз, надо точно знать что делать учитывая то как ПК используется и что на нём работает. Я бы разрешил выгрузку анонимных страниц при любом раскладе и запретил выгрузку файловых страниц сделав это возможным только когда будет конкуренция за память, но мне пока лень лезть и смотреть можно ли такое сделать в принципе.
но думаю он уже устал объяснять и просто махнул рукой
Скинь его объяснения ссылкой, зачем человека дрыгать попросту.
Все что описано в этом посте, это все с чем он уже давно борется
Прям всё, всё? Ну я и нуб. Но раз прям всё, то никого кастовать не надо, ткни указкой и поправив очки надменно укажи где я оступился =)
Яж сказал что не вникал в тонкую настройку
А вскоре выйдет ядро 6.1, где реализован тот же принцип (MGLRU), так что диск со свопом не будет ‘дергаться’ без необходимости (я про Thrashing).
И все будет у всех по дефолту, и у тех кто хотел, и у тех кто противился новшествам. :)
Если ты не используешь swap вообще, то как у тебя работает PSI (cat /proc/pressure/memory)? Вроде, идея swap в том, что когда страницы начинают свопится, memory PSI возрастает, это замечает oom-killer, который начинает смотреть, кого же прибить.
Если случится так что кто-то вдруг выжрет всю память, пойду попить чайку пока ООМ придёт и порешает.
У меня на системе со свопом, systemd-oom приходит мгновенно. Вот, например (15сек заполняется память, система не зависает):
$ time systemd-run --scope --user tail /dev/zero
Running scope as unit: run-r1d8b89331ba843918f949d0437872441.scope
[2] 17702 killed systemd-run --scope --user tail /dev/zero
systemd-run --scope --user tail /dev/zero 1.05s user 15.34s system 99% cpu 16.563 total
$ cat /proc/pressure/memory
some avg10=17.17 avg60=5.71 avg300=2.22 total=10938322
full avg10=17.10 avg60=5.68 avg300=2.21 total=10916060
Обходной путь использовать всё же постоянно пустующую память как свап через использование swap файла лежащего в tmpfs. Таким образом при наличии всегда пустой оперативной памяти (как у меня) будет наличие и свапа, ненужные страницы будут выгружаться в свап который на деле та же сама я RAM и всё.
Дык zram же как раз тебе подойдёт. Я бы использовал, но в моей системе ещё не завезли.
Я бы может тоже, но как выше написал я просто пока не использую своп и всё. Вот когда включу по так сказать нужде, тогда и буду глядеть. Своп полезен, но всё же опционален. Компуктер без него не заболеет =)
Вот помрёт у меня память, или начну её использовать не постоянной основе на >=60~70% тогда вот и включу.