Как правильно использовать два файла подкачки на разных устройствах?
Я запускаю код 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
Обновление 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перед удалением файла подкачки. Дайте системе время перенести файл подкачки.