4

Мой ноутбук имеет много оперативной памяти и SSD. Чтобы не изнашиваться SSD, я не хочу, чтобы своп использовался когда-либо. Если процесс когда-либо использует так много оперативной памяти, что ему приходится начинать использовать swap, то он явно работает неправильно и должен быть убит ядром. Но я также хочу быть в состоянии гибернации или гибридного сна моего ноутбука. В настоящее время, кажется, очень трудно заставить работать такую настройку. Вот несколько предостережений:

  • даже установка swappiness на 0 позволит использовать swap, если приложение запрашивает слишком много памяти. Кажется, нет никакого способа включить swap, но помешать ядру использовать его в качестве пространства подкачки (и, таким образом, уменьшить его полезность до места для образа гибернации)
  • Отключение свопинга (временно) приведет к таким командам, как systemctl hibernate ошибка гибернации из- Failed to hibernate system via logind: Sleep verb not supported
  • Я хочу, чтобы upower смог перевести мою систему в режим гибернации / гибридного сна (поэтому недостаточно написать сценарий-обертку, который включает подкачку и затем запускает systemctl hibernate )

Сейчас я ищу правильный путь для достижения этой цели. Один из способов сделать это, вероятно , будет вообще отключить мой раздел подкачки , а затем swapon в нужный момент через Systemd (и swapoff после того , как система просыпался). Но я не знаю, как этого добиться.

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

0