Как диагностировать причину No space left on device в Linux

«Как диагностировать причину No space left on device в Linux» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Проверь свободное место и inodes:

df -h
df -i

Возможные причины:

  1. Закончилось место на диске (удали старые файлы/logs)
  2. Закончились inodes (много мелких файлов)
  3. Удаленные файлы заняты процессами (lsof +L1)
  4. Заполнена tmpfs (df -h /tmp)

Для освобождения места:

# Найти большие файлы
find / -xdev -type f -size +100M -exec ls -lah {} ;

# Очистить кэш пакетов
apt-get clean || yum clean all

# Убить процессы, держащие удаленные файлы
lsof | grep deleted | awk '{print $2}' | xargs kill -9