Ubuntu не загружается после изменения размера подкачки и не хватает места

Я делал проект с большим объемом памяти на 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 - попытка освободить немного места и т.д.), но ничего не помогло. Вот краткое описание системы:

screenshot showing disk usage

screenshot showing memory usage

Я считаю, что мне следовало проверить, достаточно ли у меня места на диске, прежде чем делать изменение подкачки. Кроме того, я думаю, что это увеличило мой своп до 40 + ГБ, когда я хотел, чтобы он был максимум 8 ГБ... Как мне решить эту проблему и сохранить мои данные? Этот проект очень важен для меня, и я бы не хотел его потерять... Могу ли я отменить изменения, которые я сделал в терминале в режиме восстановления? Заранее спасибо!!!

0
задан 12 July 2021 в 14:29

1 ответ

Похоже, вы попросили свой компьютер создать файл подкачки размером 130 ГБ, а не файл размером 8 ГБ. Вам потребуется сделать следующее:

  1. Загрузиться в режиме восстановления (или с Live USB-накопителя).
  2. Подтвердить, что вы не используете файл подкачки:
     sudo swapoff -a {{ 1}} 
  3. Удалите созданный вами файл подкачки слишком большого размера:
     sudo rm -f / swappyswapswap 
     
    ВАЖНО: Вам нужно будет изменить имя файл в этой команде из swappyswapswap на собственное имя большого файла подкачки в вашем каталоге / . Имя файла в этой команде намеренно неверно, чтобы вы - , надеюсь, - не копировали вслепую команду sudo rm , так как отменить нельзя.
  4. Убедитесь, что в вашей системе есть место:
     df -h 
     
  5. Создайте файл размером 8 ГБ, полный нулей, который станет вашим свопом:
     sudo dd if = / dev / zero of = / swapfile bs = 1M count = 8192 status = progress 
     
  6. Установите новый файл в качестве свопа:
     sudo mkswap / swapfile 
     
  7. Добавьте новый файл подкачки в свой / etc / fstab файл:
     sudo vi / etc / fstab 
     
    Примечание : Вы можете использовать любой текстовый редактор по вашему выбору, чтобы изменить этот файл. Просто не забудьте открыть файл с помощью sudo , поскольку он принадлежит пользователю root .

    Добавьте эту строку внизу:
     / swapfile none swap sw 0 0 
     
    Это обеспечит монтирование файла подкачки при каждой перезагрузке.
  8. Перезагрузите систему в обычном режиме.

Обязательно прочтите, поймите и согласитесь с каждым из этих шагов, прежде чем копировать / вставлять их.

3
ответ дан 28 July 2021 в 11:19

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

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