Я делал проект с большим объемом памяти на python и постоянно получал ошибку (137 SIGKILL 9, что-то вроде этого), поэтому я нашел решение, и оно гласило, что нужно изменить размер свопа. Я скопировал и вставил найденные команды в терминал, и он начал копировать некоторые файлы:
# disable the use of swap
sudo swapoff -a
# create the SWAP file. Make sure you have enough space on the hard disk.
# here is my size, the total size is bs*count B
sudo dd if=/dev/zero of=/swapfile bs=1024 count=136314880 status=progress
# output:
# 139458259968 bytes (139 GB, 130 GiB) copied, 472 s, 295 MB/s
# 136314880+0 records in
# 136314880+0 records out
# 139586437120 bytes (140 GB, 130 GiB) copied, 472.372 s, 296 MB/s
# Mark the file as SWAP space:
sudo mkswap /swapfile
# output:
# Setting up swapspace version 1, size = 130 GiB (139586433024 bytes)
# no label, UUID=25a565d9-d19c-4913-87a5-f02750ab625d
# enable the SWAP.
sudo swapon /swapfile
# check if SWAP is created
sudo swapon --show
# output:
# NAME TYPE SIZE USED PRIO
# /swapfile file 130G 0B -2
# Once everything is set, you must set the SWAP file as permanent, else you will lose the SWAP after reboot. Run this command:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Через некоторое время (кажется, около 40 ГБ) система выдала сообщение, что место заканчивается. Затем терминал закончил работу, я вставил остальные команды для настройки свопа и перезагрузил компьютер. Затем, когда я снова загрузился, появилось следующее сообщение:
/dev/nvme0n1p6: clean, 1090638/907808 files, 35521979/36801792 blocks
И после этого он не загружается. Я запустил его в режиме восстановления, попробовал некоторые опции там (например, clean - попытка освободить немного места и т.д.), но ничего не помогло. Вот краткое описание системы:
Я считаю, что мне следовало проверить, достаточно ли у меня места на диске, прежде чем делать изменение подкачки. Кроме того, я думаю, что это увеличило мой своп до 40 + ГБ, когда я хотел, чтобы он был максимум 8 ГБ... Как мне решить эту проблему и сохранить мои данные? Этот проект очень важен для меня, и я бы не хотел его потерять... Могу ли я отменить изменения, которые я сделал в терминале в режиме восстановления? Заранее спасибо!!!
Похоже, вы попросили свой компьютер создать файл подкачки размером 130 ГБ, а не файл размером 8 ГБ. Вам потребуется сделать следующее:
sudo swapoff -a {{ 1}}
sudo rm -f / swappyswapswap
ВАЖНО: Вам нужно будет изменить имя файл в этой команде из swappyswapswap
на собственное имя большого файла подкачки в вашем каталоге /
. Имя файла в этой команде намеренно неверно, чтобы вы - , надеюсь, - не копировали вслепую команду sudo rm
, так как отменить нельзя. df -h
sudo dd if = / dev / zero of = / swapfile bs = 1M count = 8192 status = progress
sudo mkswap / swapfile
/ etc / fstab
файл:
sudo vi / etc / fstab
Примечание : Вы можете использовать любой текстовый редактор по вашему выбору, чтобы изменить этот файл. Просто не забудьте открыть файл с помощью sudo
, поскольку он принадлежит пользователю root
. / swapfile none swap sw 0 0
Это обеспечит монтирование файла подкачки при каждой перезагрузке. Обязательно прочтите, поймите и согласитесь с каждым из этих шагов, прежде чем копировать / вставлять их.