Amazon EC2 - полный диск
Когда я запускаю df -h
на моем сервере Amazon EC2, это вывод:
[[email protected] ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 25G 25G 0 100% /
tmpfs 4.0G 0 4.0G 0% /dev/shm
по какой-то причине что-то ест мое место для хранения.
Я пытаюсь найти все большие файлы/папки
и это то, что я верну:
[[email protected] ~]$ sudo du -a / | sort -n -r | head -n 10
993580 /
639296 /usr
237284 /usr/share
217908 /usr/lib
206884 /opt
150236 /opt/app
150232 /opt/app/current
150224 /opt/app/current/[deleted].com
113432 /usr/lib64
Как я могу узнать, что ест мое пространство?
Ответы
Ответ 1
Ну, я думаю, что один (или несколько) лог файлов, которые стали слишком большими и их нужно удалить/создать резервную копию. Сначала я предлагаю идти за большими файлами. Поэтому найдите все файлы размером больше 10 MB
(10 МБ - это достаточно большой размер файла, вы можете выбрать + 1M для 1 МБ аналогично)
sudo find / -type f -size +10M -exec ls -lh {} \;
и теперь вы можете определить, какие из них вызывают проблемы и справляются с ними соответственно.
Что касается вашей исходной команды du -a / | sort -n -r | head -n 10
, это не сработает, так как она сортирует по размеру, и поэтому все каталоги предков большого файла будут подниматься вверх по пирамиде, в то время как отдельный файл, скорее всего, будет пропущен.
Примечание. Должно быть довольно просто заметить появление похожих файлов журналов/двоичных файлов в расположении файлов, которые вы так нашли, так, как и предложение, сделать cd
в каталог, содержащий исходный файл для очистки больше файлов такого же типа. Вы также можете выполнить итерацию с помощью команды для файлов с размерами больше 1MB
next и т.д.
Ответ 2
В /
введите du -hs *
как root
:
$ sudo su -
cd /; du -hs *
Вы увидите полный размер всех папок и определите более крупные.
Ответ 3
Только перезагрузка экземпляра решила мою проблему
Ранее:
/dev/xvda1 8256952 7837552 0 100% /
udev 299044 8 299036 1% /dev
tmpfs 121892 164 121728 1% /run
none 5120 0 5120 0% /run/lock
none 304724 0 304724 0% /run/shm
Теперь
/dev/xvda18256952 1062780 6774744 14% /
udev 299044 8 299036 1% /dev
tmpfs 121892 160 121732 1% /run
none 5120 0 5120 0% /run/lock
none 304724 0 304724 0% /run/shm
Ответ 4
Это пространство потребляется почтовыми уведомлениями
вы можете проверить его, набрав
sudo find / -type f -size +1000M -exec ls -lh {} \;
Он отобразит большие папки выше 1000 МБ
Результат будет иметь папку
/var/mail/username
Вы можете освободить это пространство, выполнив следующую команду
> /var/mail/username
Обратите внимание, что символ больше ( > ) не является приглашением, вы должны запустить cmd с ним.
Теперь проверьте свободное пространство на
df -h
Теперь у вас достаточно свободного места, наслаждайтесь...:)
Ответ 5
ansh0l answer - это способ поиска больших файлов. Но, если вы хотите узнать, сколько места занимает каждый каталог в вашей файловой системе, cd в корневой каталог, тогда сделайте du -k --max-depth=
'. Это покажет вам, сколько пространства потребляется каждым подкаталогом в корневом каталоге. Когда вы обнаружите виновника, cd в этом каталоге, повторите ту же команду и повторите, пока не найдете файлы, которые потребляют все пространство.
Ответ 6
Если у вас есть снимки против файловой системы, использование не отображается в O/S.
Таким образом, чем дольше вы оставите свой снимок, тем больше дисков он будет потреблять на вашем текущем томе. Если вы удалите моментальный снимок, перезагрузите отсутствующую емкость диска, появится снова.