xvda1 заповнена на 100%, що це? як виправити?


41

Я запускаю екземпляр 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% /

Проблема в тому, що я не знаю, що це за файл, і я також не знаю, чи цей файл навіть проблема.

Отже, моє запитання таке: як я можу виправити помилку "Не залишається місця на пристрої"?

Відповіді:


67

Цей файл /є вашою кореневою каталогом. Якщо це єдина файлова система, яку ви бачите df, то це все. У вас файлова система 1 Гб, вона на 100% повна. Ви можете почати розбиратися, як це використовується так:

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

Потім можна замінити /шляхи, які займають найбільше місця. (Вони будуть наприкінці завдяки sortкоманді. Команда може зайняти деякий час.)


19
Для отримання результатів у читаному для людини форматі ви можете скористатися sudo du -x -h / | sort -h | tail -40цієї відповіді ).
mkobit

Для тих, хто має випадки мікро AWS AMI, це може зайняти хвилину або близько того. Будьте терплячі!
Доктор Роб Ланг

що робити з цим:sort: write failed: /tmp/sortGmL8oF: No space left on device
DOM

1
@dOM Ой. Спробуйте прибрати трохи місця /tmp. Або, якщо потрібно, звужуйте його крок за кроком за допомогою таких команд du -xhs /*.
Девід Шварц

du -x -h / | sort -h | tail -40 | sort -h -rможе використовуватися для сортування у порядку зменшення при використанні для читання людиною результатів.
Виги

14

Я знаю, що я відповідаю в цій темі через майже 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 /, це очистило мій простір :) сподіваюся, що це комусь допоможе :)


8

Якщо ви використовуєте примірник завантаження EBS (рекомендується), ви можете збільшити розмір тома root (/), використовуючи процедуру, яку я описав у цій статті:

Змінення розміру кореневого диска під час запуску 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. Є багато причин, за які ви будете дякувати пізніше.


Я працюю на EBS, розгортати кореневий диск досить дешево? На щастя, мені не доводиться мати справу з MySQL, мої проекти наразі є Mongo / Redis. тут чудовий матеріал. +1

2

Я нещодавно зіткнувся з цим питанням на Amazon Linux. Моя черга електронної пошти на вихідну електронну пошту /var/spool/clientmqueueстановила 4,5 Гб.

Я вирішив це:

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

Проблема вирішена!


1

Я щойно вирішив цю проблему, виконавши цю команду:

sudo apt autoremove

і було видалено багато старих пакетів, звільнивши 5 гігабайт, наприклад, було багато пакетів типу "linux-aws-headers-4.4.0-1028"


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.