У меня есть узел EC2 под управлением Ubuntu 14.04. Сегодня утром при развертывании я получил следующее сообщение об ошибке от git fetch:
error: unable to create temporary file: No space left on device
Я вошел на сервер, и df -h указывает, что у меня достаточно места:
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 492M 12K 492M 1% /dev
tmpfs 100M 488K 99M 1% /run
/dev/xvda1 7.8G 4.9G 2.5G 67% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 497M 4.0K 497M 1% /run/shm
none 100M 0 100M 0% /run/user
Я неправильно читаю df здесь? Насколько я понимаю, / tmp на EC2 находится на / dev / xvda1, но, может быть, я ошибаюсь?
Проверить системные inodes:
root #df -i /
Если загрузка приближается к 100%, попробуйте использовать
xdiskusage /
Чтобы узнать, что занимает inodes.
К сожалению, нет способа увеличить количество inodes в файловой системе после того, как файловая система была создана.
За исключением LVM, который может увеличивать количество инодов с помощью resize2fs
Обращается к:На устройстве не осталось места, пока свободного места достаточно.
Вы можете использовать команду find для поиска каталога, в котором есть объемные файлы, и вы можете выполнить очистку на основе стандартов ur
find /dev/xvda1 -type f -size +1M -exec ls -ltrh {} \;
и когда вы найдете место или каталог, где вам нужно выполнить очистку, пройдите этот путь к каталогу в источнике, и вы выполните очистку
find /dev/xvda1/dummy -type f -size +1M -mtime +120 -exec rm -rf {} \;
Выше я удаляю файлы старше 120 лет из каталога dummy.
Возможно, какое-то приложение создает огромное количество небольших файлов и полностью исчерпывает inodes. Вы можете найти такое мошенническое приложение и удалить ненужные файлы.
Предел inode не может быть увеличен динамически, однако, если вы используете LVM, вы можете подумать об увеличении размера тома, в противном случае сделайте резервную копию и создайте новую файловую систему, указав более высокий предел inode.