Назад | Перейти на главную страницу

xvda1 заполнен на 100%, что это такое? как исправить?

Я запускаю экземпляр Linux на EC2 (у меня установлены MongoDB и node.js), и я получаю эту ошибку:

Cannot write: No space left on device

Я думаю, что отследил это до этого файла, вот вывод df

Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda1             1032088   1032088         0 100% /

Проблема в том, что я не знаю, что это за файл, и я также не знаю, является ли этот файл проблемой.

Итак, мой вопрос: как исправить ошибку «На устройстве не осталось места»?

Этот файл, / это ваш корневой каталог. Если это единственная файловая система, которую вы видите в dfто это все. У вас файловая система размером 1 ГБ, и она заполнена на 100%. Вы можете начать выяснять, как это используется, вот так:

sudo du -x / | sort -n | tail -40

Затем вы можете заменить / с путями, которые занимают больше всего места. (Они будут в конце, благодаря sort. Команда может занять некоторое время.)

Я знаю, что отвечаю в этой ветке почти через 5 лет, но это может помочь кому-то, у меня была такая же проблема, у меня был экземпляр m4.xlarge df -h сказал, что / dev / xvda1 заполнен, - 100%

Filesystem      Size  Used Avail Use% Mounted on
udev            7.9G     0  7.9G   0% /dev
tmpfs           1.6G  177M  1.4G  12% /run
/dev/xvda1      7.7G  7.7G     0 100% /
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
tmpfs           1.6G     0  1.6G   0% /run/user/1000

Я пытался решить эту проблему, вот шаги

sudo find / -type f -printf '%12s %p\n' 2>/dev/null|awk '{if($1>999999999)print $0;}'

Помог мне узнать, что это контейнер докеров, который говорил все мое пространство, поэтому я помещаю весь свой контейнер в свой реестр докеров, а затем сделал sudo rm -rf / var / lib / docker / он очистил мое пространство :) надеюсь, это поможет кому-то :)

Если вы используете загрузочный экземпляр EBS (рекомендуется), вы можете увеличить размер корневого (/) тома, используя процедуру, которую я описываю в этой статье:

Изменение размера корневого диска на запущенном экземпляре EBS Boot EC2
http://alestic.com/2010/02/ec2-resize-running-ebs-root

Если вы используете экземпляр хранилища экземпляров (не рекомендуется), вы не можете изменить размер корневого диска. Вам нужно либо удалить файлы, либо переместить файлы в временное хранилище (например, / mnt), либо присоединить тома EBS и переместить туда файлы.

Вот статья, которую я написал, в которой описывается, как переместить базу данных MySQL с корневого диска на том EBS:

Запуск MySQL на Amazon EC2 с EBS
http://aws.amazon.com/articles/1663

... и подумайте о переходе на загрузочные экземпляры EBS. Есть много причин, по которым вы потом будете благодарить себя.

Я только что решил эту проблему, выполнив эту команду:

sudo apt autoremove

и много старых пакетов было удалено, высвободив 5 гигабайт, например было много пакетов вроде этого "linux-aws-headers-4.4.0-1028"

Недавно я столкнулся с этой проблемой в Amazon Linux. Моя очередь исходящей электронной почты crontab /var/spool/clientmqueue было 4,5 ГБ.

Я решил это:

  1. Поиск больших файлов: sudo find / -type f -size +10M -exec ls -lh {} \;
  2. Удаление больших файлов: /bin/rm -f <path-to-large-file>
  3. Перезапустить экземпляр сервера

Задача решена!

Пауло был на правильном пути для меня, но когда я попытался бежать

sudo apt autoremove

он ответил:

Reading package lists... Error!
E: Write error - write (28: No space left on device)
E: IO Error saving source cache
E: The package lists or status file could not be parsed or opened.

Сначала мне пришлось бежать

sudo apt-get clean

Это освободило мне достаточно места для запуска sudo apt autoremove, и это увеличило мою загрузку на / dev / xvda1 со 100% до 28%.

Это могло быть от Дженкинса или Докера. Чтобы решить эту проблему, вам следует очистить журналы Jenkins и установить их размер.