Ubuntu 18.04: будьте в спящем режиме с 2 разделами подкачки, или 2 файлами подкачки или 1 из каждого, от которого я возобновляюсь?

Я работаю скорее плоскость Xubuntu бионические 18,04 установок с некоторыми установленными приложениями дополнительного пользователя, но никакое дополнительное системное программное обеспечение, о котором я знаю.

Теперь, когда я расширил свою RAM до 16 ГБ, я, кажется, запустил приложения использования, которые используют так много памяти и больше, намного больше. Таким образом, у меня наконец есть регулярное использование для свопинга также. Вместо того, чтобы повторно делить мои диски, я добавил файл подкачки на втором диске, который работает гладко помимо моего раздела подкачки на первом диске. Преимущество состоит в том, что работа распространена по 2 дискам, и я могу чувствовать скорость. В /etc/fstab это похоже на это:

LABEL=TSWP              none swap sw,pri=1,nofail
/media/sdata/.swapfile  none swap sw,pri=1,nofail

Это приводит к типичным отчетам о swapon как это:

NAME                   TYPE      SIZE USED PRIO
/dev/sda2              partition  16G 4,8G    1
/media/sdata/.swapfile file       16G 4,7G    1

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

Наличие вполне достаточной области подкачки теперь, быть спящим режимом самой не должны быть никакой проблемой. Но где я направляю ядро к, для возобновления от? Существуют загрузки ответов здесь (и на othe форумах), которые говорят Вам, как сделать это для 1 местоположения подкачки. Но что, если у Вас есть 2 места?

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

  2. Я мог увеличить свой исходный раздел подкачки и отбросить файл подкачки, но затем я буду освобождать преимущество наличия 2 мест свопинга. Также реорганизация заполненных дисков является опасным бизнесом.

  3. Я мог дифференцировать приоритет подкачки. Если я отдаю файлу подкачки более высокий приоритет и swapoff/swapon раздел подкачки, через какое-то время отчет о swapon похож на это:

    NAME                   TYPE      SIZE USED PRIO
    /dev/sda2              partition  16G   0B    1
    /media/sdata/.swapfile file       16G 9,3G    2
    

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

  4. Я мог добавить a pm-utils сценарий к swapoff одно из обоих мест подкачки как подготовка к в спящем режиме, покидая только другое местоположение для выбора из. Но это серьезно уменьшило бы мои возможности наличия достаточной неиспользованной области подкачки для изображения спящего режима, противоположности того, что я получил путем добавления 2-го местоположения подкачки.

  5. На том же уровне я мог монтировать/активировать, что каждый загружает местоположение /etc/fstab, и swapon другой в некотором сценарии запуска. Это решило бы что-нибудь? Был бы процесс спящего режима смотреть /ect/fstab вместо к фактическим активным местоположениям подкачки? Я предполагаю нет.

Таким образом, мой вопрос - это: будьте этим или 2 раздела подкачки, или 2 файла подкачки или 1 из каждого, как я настраиваю или надежно предсказываю, к которому местоположению изображение спящего режима будет записано в? Так, чтобы я мог дать ядру команду возобновляться от того местоположения, вместо того, чтобы искать напрасно на другой и освободить состояние моего продолжительного задания.

Вторичный вопрос: как я пошел бы о нахождении решения для моего по-видимому особого случая сам. Делает, например, systemctl hibernate звонить pm-hibernate из pm-utils, действительно ли это наоборот, или еще один агент наконец ответственен за спящий режим. Действительно ли какой-либо из них настраивается относительно местоположения подкачки? Я могу вместо этого установить другую системную утилиту, которая настраивается таким образом?

Спасибо за Ваше внимание.

1
задан 19 December 2019 в 17:04

1 ответ

Всего несколько лакомых кусочков для рассмотрения...

В лучшем сценарии случая, подкачка не используется вообще. Использование подкачки является медленным из-за скорости устройств, что они расположены на (жесткий диск обычно)." я могу чувствовать, что скорость " происходит из-за дополнительной RAM, не подкачка.

, Если у Вас есть современный SSD, лучше помещать один / своп-файл в него и удалять любые используемые разделы подкачки. Редактирования к/etc/fstab требуются.

, Если/etc/fstab, подкачайте , разделы лучше всего упомянуты UUID (UUID=xxx), а не маркирует (LABEL=TSWP) или устройством (/dev/sda2). Своп-файлы лучше всего помещаются в корневой каталог (/своп-файл), а не на съемных носителях (/media/sdata/.swapfile) и не создаются, как скрытый.

В небыть в спящем режиме ситуации, размере подкачки с 16G RAM могла бы быть в 4-8G диапазоне. В быть в спящем режиме ситуации подкачка должна быть больше, чем физическая RAM в порядке (1.2-1.5) *RAM.

необходимо отредактировать/etc/initramfs-tools/conf.d/resume для определения подкачки резюме... использование собственного UUID... как это...

RESUME=UUID=071f8b0e-8e16-4f4d-90ff-a4ae9cc56e2b

Затем создают новый initramfs файл с:

sudo update-initramfs -c

С 16G RAM, это - преимущества для установки vm.swappiness параметра ядра, таким образом, что больше RAM используется, и меньше подкачки используется.

Для временного тестирования этого:

sudo sysctl vm.swappiness=10 # значение по умолчанию равняется 60

Для внесения постоянного изменения:

sudo sysctl -w vm.swappiness=10 запись # оценивает/etc/sysctl.conf

загрузки/etc/sysctl.conf

sudo sysctl -p # Наконец, после того, как добавляющая RAM, тест памяти должен будет быть выполнен для подтверждения хорошей памяти и успешного дополнения к слотам памяти. Перейдите в https://www.memtest86.com / и загрузите/выполните их свободный memtest для тестирования памяти. Заставьте по крайней мере одну полную передачу всех тестов 4/4 подтверждать хорошую память. Это может занять много часов для завершения.

1
ответ дан 21 December 2019 в 23:29

Другие вопросы по тегам:

Похожие вопросы: