Дисковое пространство на моем веб-сервере Ubuntu, работающем в DigitalOcean, похоже, заполнено. Я уже нашел и удалил большой файл журнала и перезапустил Nginx. Однако проблема все еще остается.
df
показывает, что он еще полон:
$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 47G 22M 100% /
Но du
показывает, что он не заполнен:
$ du -shx /
3.2G /
Что мне нужно сделать, чтобы решить эту проблему?
Сначала проверьте, не ссылаются ли какие-либо процессы на удаленный файл:
$ sudo lsof / | grep deleted
В моем случае это показывало, что tail
все еще использовал его:
tail 18961 root 3r REG 253,1 46511271936 1189657 /var/www/myapp/shared/log/production.log (deleted)
Бег ps x
и фильтрация по имени процесса показала мне идентификатор процесса, который мне нужно было убить:
$ ps x | grep tail
3376 pts/1 S+ 0:00 grep --color=auto tail
18961 ? Ss 0:00 tail -f /var/www/myapp/current/log/production.log
В данном случае 18961 был идентификатором процесса. Теперь завершите процесс:
kill 18961
Сейчас df
показывает, что снова есть свободное место:
$ df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 50G 3.3G 44G 7% /