Как правильно использовать два файла подкачки на разных устройствах?

Я запускаю код Python в лаборатории Jupyter, который работает с большим списком кадров данных, и мне нужно объединить их, вычислить средние значения и т. д. Это требует много памяти, и я использую файлы подкачки, поскольку размера памяти недостаточно.

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

Кажется, мне здесь что-то не хватает... Я нашел ссылки, возможно использование двух файлов подкачки здесь, и здесь . И здесь даже говорится, что возможны 29 файлов подкачки!

  • мой первый файл подкачки находится в корне ().
  • Второй файл подкачки, который я попробовал, был дома (). «Дом» находится на вторичном устройстве (SSD), установленном как.
  • мое основное устройство () — устройство NVMe (SSD M.2).
  • если я деактивирую/удаляю файл , он работает нормально (если я не достигаю максимального объема памяти + файла подкачки)
  • В обеих ситуациях я вижу на системном мониторе эквивалент первого файла подкачки, который используется без проблем.
  • Я не вижу сообщения об ошибке, он просто вылетает, и Jupyter lab/chrome закрывается.
  • Моя система — Ubuntu 22.04.2 LTS.
  • Я проверил, и приоритет был у первого файла подкачки (в M.2), поэтому я уверен, что сбой происходит, когда первый файл подкачки полностью используется...

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

Существуют ли какие-либо требования к таким файлам подкачки на одинаковых устройствах (с одинаковой скоростью и т. д.)? Как правильно использовать два файла подкачки?

Заранее спасибо,

Обновление: относительно того, как были установлены файлы подкачки:

      sudo fallocate -l 50g /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

То же самое для~/swapfile2

      sudo fallocate -l 50g ~/swapfile2
sudo chmod 600 ~/swapfile2
sudo mkswap ~/swapfile2
sudo swapon ~/swapfile2
echo '~/swapfile2 none swap sw 0 0' | sudo tee -a /etc/fstab

Я попробовал сначала без перезапуска. После перезагрузки я увидел, что второй файл подкачки деактивирован, поэтому я отредактировал (sudo nano), как описано здесьздесь . Проблема остается даже после повторного перезапуска после редактирования файла etc/fstab...

Обновление 2: теперь мне удалось освободить немного места во вторичном разделе того же NVMe (того же устройства, содержащего раздел с системным корнем «/»). И добавил файл подкачки, расположенный там, для проверки.

      sudo fallocate -l 50g /Data/swapfile2
sudo chmod 600 /Data/swapfile2
sudo mkswap /Data/swapfile2
sudo swapon /Data/swapfile2
echo '/Data/swapfile2 none swap sw 0 0' | sudo tee -a /etc/fstab

С двумя файлами подкачки, расположенными в разных разделах одного и того же устройства NVMe, все работает нормально. У меня возникла проблема, когда второй файл подкачки находится на SSD SATA. Так что у меня больше аргументов думать, что это связано с разницей в скорости...

Все разделы и диски отформатированы как ext4.

Есть ли способ заставить его работать с одним (или двумя) файлами подкачки на устройстве NVMe и другим на SSD SATA?

1 ответ

надеюсь, ты не используешь~/swapfile2в вашей/etc/fstab, как~это ярлык оболочки. Используйте фактический путь:/home/hamagust/swapfile2. Также обязательноswapoffперед удалением файла подкачки. Дайте системе время перенести файл подкачки.

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