LINUX.ORG.RU

Swap manjaro gnome

 , ,


0

1

Устанавливаю manjaro gnome на ноутбук. При установке предлагает создать swap раздел на диске. Оперативки имеется 20gb. Вопрос нужно ли делать этот swap раздел? Нужен ли он вообще? И если делать то с гибернацией или без? До этого после установки была проблема что зависал ноутбук при выходе из ждущего режима, хотя создавал раздел swap с гибернацией

Нужна гибернация — swap размером не менее оперативной памяти. Не нужна — swap размером в несколько гигабайт, например 4, можно файлом, а не разделом. Но swap нужен: https://unix.stackexchange.com/questions/190398/do-i-need-swap-space-if-i-hav...

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

Вопрос нужно ставить так: как обрабатывать нехватку памяти?

Ответ показан здесь: Просто оставлю это здесь: Игра в supertux2 с множественными `tail /dev/zero` в фоне без зависаний

Если нужна гибернация, то, конечно, нужен большой своп раздел. В остальных случаях своп на zram - хороший выбор.

hakavlad ★★ ()
Ответ на: комментарий от Vsevolod-linuxoid

Нужна гибернация — swap размером не менее оперативной памяти.

Необязательно. Записывается только используемая память и сжимается.

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

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

kirill_rrr ★★★★★ ()

Всегда можно потом сделать своп в файле, если что. На 2гиг озу без свапа жопа, а вот на 16гиг ещё ни разу мне не потребовался.

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

Зато будет крашить нужный пользователю процесс. Этот анальный костыль вообще то для энтерпрайз-серверов был придуман, где внезапная нехватка памяти это повод к скорейшему перезапуску.

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

Зато будет крашить нужный пользователю процесс

это дефолтный киллер нужные убивает, а юзерспейсные позволяют более тонко настраивать выбор жертвы, плюс сначала попытка корректного завершения через sigterm, плюс опция гуи уведомлений при нехватке памяти, чтоб юзер имел шанс самостоятельно отреагировать заранее, закрыв ненужные приложения.

Когда юзерспейного киллера нет, есть вероятность полного фриза, когда у юзера один выбор: hard reset с потерей данных.

Этот анальный костыль вообще то для энтерпрайз-серверов был придуман, где внезапная нехватка памяти это повод к скорейшему перезапуску.

oomd для серверов, earlyoom и nohang для десктопа - последние аккуратно завершают отдельные процессы, а не убивают целые сигруппы, как оомд

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

Открой для себя cgroups.

контрольные группы - не замена киллера. У киллера доп плюшки. Киллер удобнее, в конце концов.

Открой для себя alt+sysrq+f.

Может вообще не срабатывать:

[706742.940955] Purging GPU memory, 1116 pages freed, 13038 pages still pinned.
[706743.032224] sysrq: SysRq : Manual OOM execution
[706743.048960] Purging GPU memory, 1116 pages freed, 13038 pages still pinned.
[706743.132372] sysrq: SysRq : Manual OOM execution
[706743.152946] Purging GPU memory, 1106 pages freed, 13038 pages still pinned.
[706743.232711] sysrq: SysRq : Manual OOM execution
[706743.253046] Purging GPU memory, 1449 pages freed, 13038 pages still pinned.
[706743.333101] sysrq: SysRq : Manual OOM execution
[706743.349036] Purging GPU memory, 1113 pages freed, 13038 pages still pinned.
anonymous ()

Глянь в Wiki.Arch или в другой документации. Там пишут, что Systemd может создавать в виде файла. По умолчанию размер 20℅, вроде. Но упоминают про проблемы с гибернацией от такого способа. И в ядре есть механизм работы практически напрямую с блоками swap-файла, но нужна поддержка в ФС, а в btrfs и f2fs добавили относительно недавно, а в большинстве же давно есть. А может и создавать zram, управлять zswap.

Для гибернации нужно только столько, чтобы влезла вся память. Стандартный минимум образа 40%, вроде, но можно подкрутить. Делай замеры и смотри значения без кэша, если место жалко. Еще swap хоть и даст место для хранения растекающейся памяти, но при больших потоках толку немного. Старый способ делать под 100%-200% и раньше не очень работал.

Тут zram предлагают, но этот вариант архитектурно немного кривоват и стоит его использовать если нужно обойтись без записи на диск, разве что. Лучше использовать zswap, который тоже сжимает страницы в память, но потом сжатыми же сбрасывает на диск.

Гибернация для ноутбуков не очень нужна, если ждущий режим нормальный - не садит почти батарею и не просыпается сам.

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

Бегло глянул. Ему нужен отдельное блочное устройство под backing storage, или он в swap может сбросить? Написано, что в файлы сбрасывать не может.

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

Гибернация для ноутбуков не очень нужна

как раз для них и нужна, ибо стационарные всегда подключены к сети, а аккумуляторы разряжаются при ждущем режиме

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

это дефолтный киллер нужные убивает, а юзерспейсные позволяют более тонко настраивать выбор жертвы

Суть в том, что они с вероятностью 99% все нужные и никого убивать не надо. И это не жёсткий энтерпрайз и реалтайм, опять же с вероятностью 99% достаточно просто подождать 10 секунд или 5 минут, и дополнительные гигабайты свопа позволят сделать невозможное и поехать дальше.

Когда юзерспейного киллера нет, есть вероятность полного фриза, когда у юзера один выбор: hard reset с потерей данных.

Да, вероятно такая вероятность действительно есть. Но на 1000 обычных тормозов приходится сколько хард ресетов? Если не отказываться от обыкновенного свопа на диске, то явно меньше 1. Если отказаться, вот тогда да, можно и такое словить.

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

Насчёт zswap: я пока ещё не видел нормальных боевых сравнений их эффективности. Теоретически идея zswap более правильная, но никаких серьёзных изменений при переходе на него не чувствуется. Как будто дисковый свопинг даже активней.

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

с вероятностью 99% все нужные

c вероятностью 90% можно безболезненно прибить большую часть вкладок браузера и висящее в фоне незакрытое приложение, завершение которого не приведет к необратимым изменениям

с вероятностью 99% достаточно просто подождать 10 секунд или 5 минут, и дополнительные гигабайты свопа позволят сделать невозможное и поехать дальше

earlyoom стреляет при нехватке в том числе свопа. nohang может реагировать на давление памяти при своппинге, можно задать любую продолжительность высокого давления, после которого будет коррекция, дефолт 30 сек заморозки (или почти заморозки). - Думаю это разумное значение для большинства. При больших значениях юзеры нервничают и тянут руку к reset.

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

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

Я могу ещё понять рассылку сигналов заморозки, но не килл.

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

Это кем вообще надо считать ящерицу, чтобы признавать ее хвост ненужным?

Кстати говоря, сами разрабы хрома выставляют процессам вкладок oom_score_adj=300, чтоб вкладки падали первыми.

Кстати, в файерфоксе например нельзя убить одну вкладку,

можно, если открыта одна вкладка. Так-то один Web Content обычно несколькими вкладками управляет.

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

Я могу ещё понять рассылку сигналов заморозки, но не килл.

А можете ли понять заморозку на неограниченное время? такое тоже бывает. Так говорите, будто без килл система сама восстановится, никого не убив.

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

Вам что, кнопку «сделать мне хорошо», или возможность разрулить кризис без потерь? Если разрулить без потерь, то точно не надо мочить процессы направо и налево. Если сделать хорошо одной кнопкой. то для начала надо купить мак про в максимальной комплектации.

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

Без потерь не всегда возможно. Но нужно стараться минимизировать потери. Во многих случаях завершение 1 процесса - это и есть минимальная потеря, достаточная для восстановления управляемости системы.

hakavlad ★★ ()
Ответ на: комментарий от Vsevolod-linuxoid

Нужна гибернация swap размером не менее оперативной памяти.

Я бы даже сделал на всякий случай немного больше размера оперативки.

Но swap нужен: https://unix.stackexchange.com/questions/190398/do-i-need-swap-space-if-i-have-more-than-enough-amount-of-ram/190521#190521

Спасибо за ссылку. Полезная информация.

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

состояние и потом ещё психануть отказавшись ждать завершения задачи.

Легко. быстрая утечка, если своп на HDD. Система замерзает на много минут, возможно на десятки минут. при этом у юзера есть неотложные задачи - звонок по скайпу и прочее, да мало ли что, и промедление смерти подобно.

anonymous ()