> Tmpfs емнип вытесняется в своп, zram нет.Вот про tmpfs я не помню с наскока. А выдавливать сжатый своп в своп было бы совсем уж маразмом и thrashing каким-то.
> Поэтому, если у тебя tmpfs для временных файлов, и компиляция в нём, своп
> поможет очень значительно при недостатке памяти.
Я сильно похож на системного идиота, чтобы сперв разогнать IO компилом в темпарь, а потом заякорить это счастье своплением? Вам никогда не приходило в бошку что дисковый буфер сам сделает при достатке оперативы некое подобие рамдиска?
Однако
1) без этой идиотской камасутры
2) без столь странных failure modes
3) самосбалансировавшись по скорости накопителя и доступной раме, при том довольно непохабно.
Да, точки зрения записи винч подпертый жирным буфером не сильно отличается от рамдиска, покуда оно в фоне успевает скидываться.
> А вот от сжатия профита не так много как хотелось бы,
Для меня профит в том что холодные данные которые возможно никто никогда не поюзает - занимают меньше места, стало быть, дисковый кэш получит несколько больше.
> и есть всякие глюки вроде забитого ничем свопа
У меня нет свопа на механике или SSD, поэтому и забиться он не может. А zram забивается медленно и постепенно cold pages которые типа-заюзаны, но как-то совсем уж dead code/data. А если окажется что punks not dead тогда они декомпреснутся с такой скоростью что я это не замечу. И даже в совсем уж OOM - ну, через 5-10 секунд просадки скорости в несколько раз oom killer прибьет offender'а. На свопе с механическим диском будет хруст головами цать минут, на SSD оно до дыр быренько протрет и такая эмуляция оперативы получается малость дороговата, проще нормальной RAM докупить чем SSD менять как лампочки.
> (он не может при этом использоваться, и всё ещё хуже чем
> когда его нет вовсе).
Меня видите ли в десктопной системе кроме bulk performance интересует еще low latency и user experience. И я вообще совсем не ок относительно тормозящих компьютеров. Для десктопа видите ли интерактивность не последнее дело.
> Может быть, дело ещё и в том, что официальная реализация алгоритмов значительно
> впереди относительно версий ядра.
Как минимум дефолты параметров свопа в 5.х сменили смысл. На, скажем так, нечто иное. Теперь можно в принципе попытаться делать иерархические свопы, это что-то типа IO cost и вроде можно так подогнать что сперва будет в ZRAM валиться а потом если не хватило то и в обычный. Но для себя я решил что эмулить патефонами RAM я принципиально не буду по соображениям латенси, а протереть SSD под системой до дыр в мои планы тоже не входит. И вообще, до того как подрыватся крутить все подряд в системной механике нехило б понять что оно делает и что хочется получить. А то может оказаться что майнтайнеры или ядершики были не тупее вас и совсем не факт что вы самый умный и улучшили что-то своим кручением, а не наоборот.