SystemdDoctor
служба не работает диск ресурсы

Disk quota exceeded для службы

Сообщение Disk quota exceeded (номер 122, EDQUOT) означает исчерпание квоты, а не места на разделе. Служба, работающая от пользователя с квотой, перестаёт писать, хотя команда показывает свободное место.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Исчерпана квота пользователя службы

    Квота считается по владельцу файлов. Служба от отдельного пользователя упирается в его квоту.

  2. Исчерпана квота по числу файлов

    Квота бывает не только на объём, но и на число файлов. Служба с множеством мелких файлов упирается во вторую раньше первой.

  3. Квота задана для группы

    Групповые квоты действуют на все файлы группы. Служба может упираться в них, даже если её пользователь не имеет своей квоты.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Квоты по пользователям и их использование.

sudo repquota -a 2>/dev/null | head -20

Место на разделе: при квотах оно может быть свободным.

df -h /var/lib

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Исчерпана квота пользователя службы
Почему происходит
Квота считается по владельцу файлов. Служба от отдельного пользователя упирается в его квоту.
Как проверить
Посмотрите квоты пользователя.
sudo repquota -a 2>/dev/null | head -20
sudo quota -u app 2>/dev/null
Как исправить
Увеличьте квоту или уберите ненужные данные. Для служебных пользователей квоты часто задают по недосмотру — стоит проверить, нужны ли они вообще.
2. Исчерпана квота по числу файлов
Почему происходит
Квота бывает не только на объём, но и на число файлов. Служба с множеством мелких файлов упирается во вторую раньше первой.
Как проверить
Посмотрите оба вида квот.
sudo repquota -a 2>/dev/null | head -20
Как исправить
Увеличьте предел числа файлов или сократите их количество — например храня данные в одном файле вместо множества мелких.
3. Квота задана для группы
Почему происходит
Групповые квоты действуют на все файлы группы. Служба может упираться в них, даже если её пользователь не имеет своей квоты.
Как проверить
Посмотрите групповые квоты.
sudo repquota -g -a 2>/dev/null | head
Как исправить
Разберитесь, чья квота исчерпана: пользователя или группы. Правьте нужную.

Пример вывода

Квота исчерпана при свободном месте. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

myapp[1200]: error: write /var/lib/myapp/data.db: disk quota exceeded

$ df -h /var/lib
/dev/vda2  50G  22G  26G  46% /
$ sudo quota -u app
Filesystem  blocks   quota   limit   grace   files   quota   limit
/dev/vda2  2097152 2097152 2097152          15234   50000   50000

Связанные ошибки

Источники

  • quota(1)
    Дисковые квоты и их просмотр.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено квотой на служебного пользователя при свободном разделе.
    собственная проверка, systemd 255
    сверено 15 сентября 2026