Хостинг: «Disk quota exceeded» — закончилось место, как найти крупные файлы

  • Обновлено
  • Чтение ≈ 4 минуты

Краткий ответ

Ошибка превышения дисковой квоты в панелях ISPmanager, HestiaCP, VestaCP и cPanel означает, что аккаунт исчерпал выделенное место. Найдите крупные файлы и логи, очистите кеш и почту, проверьте квоту командой, увеличьте тариф и проверьте inode.

В этой статье
  1. Что значит ошибка
  2. Что чаще всего занимает место
  3. Порядок
  4. Отличия панелей
  5. Проверка квоты по панелям в командной строке
Disk quota exceeded
Disk quota exceeded / Превышена дисковая квота / Не удаётся записать файл
По-русскиАккаунт хостинга исчерпал лимит места или числа файлов.

#Что значит ошибка

Квота — это лимит места (в МБ/ГБ) и числа файлов (inode) для аккаунта. Когда место или inode заканчиваются, сайт не может писать кеш, загружать файлы и принимать почту; WordPress и Bitrix выводят ошибки, письма отклоняются. Причины: накопившиеся логи, бэкапы в домашней папке, кеш, почта, error_log, дубликаты, большие загрузки, переполнение inode мелкими файлами (сессии, кеш).

#Что чаще всего занимает место

Возможная причинаКак узнатьЧто делать
Бэкапы на сервереАрхивы сайта и БД.Крупные .tar.gz, .zip.Скачайте и удалите.
Логиerror_log, access.Файлы по сотням МБ.Обнулите, настройте ротацию.
Кеш приложенияWordPress, Bitrix.Сотни тысяч мелких файлов.Очистите кеш.
Почтовые ящикиСпам, вложения.Папка mail огромна.Очистите ящики.
Сессии PHPtmp.Много файлов sess_*.Удалите старые.
Дубликаты и распакованные архивыОстатки.Копии сайта в подкаталогах.Удалите.

#Порядок

  1. Узнайте объём и лимит квоты в панелиОткройте в панели управления тарифом раздел «Диск», «Статистика» или «Квоты» и отдельно запишите занятое место, предел тарифа и число используемых inode. Если SSH доступен, выполните quota -s, df -h ~ и df -i ~: эти команды показывают разные ограничения и не изменяют данные. При расхождении с панелью уточните квоту пользователя у хостера, а не удаляйте файлы наугад.
  2. Найдите самые большие каталоги и файлыПодключитесь к серверу по SSH под учётной записью сайта, выполните cd ~, затем du -h --max-depth=1 . 2>/dev/null | sort -hr | head -20 в Linux. В списке найдите самые крупные каталоги и углубляйтесь в них той же командой; для поиска файлов используйте find . -type f -size +100M -print. Не удаляйте найденное автоматически: размер файла не доказывает, что он ненужный.
  3. Найдите каталоги с наибольшим числом файловЕсли диска хватает, но квота файлов исчерпана, запустите из домашнего каталога for d in ./*/; do printf "%s " "$d"; find "$d" -type f 2>/dev/null | wc -l; done | sort -k2,2nr | head. Найдите папку с тысячами мелких файлов: часто это сеансы, кэш или миниатюры. Проверьте документацию приложения, как очищать эту папку, и повторите подсчёт inode после удаления.
  4. Удалите ненужные архивы и бэкапы, старые логиДо удаления откройте папки с резервными копиями и журналами в файловом менеджере или через SSH (ls -lh) и проверьте даты, назначение и наличие копии вне сервера. Скачайте нужные архивы на компьютер и убедитесь, что они открываются. Удаляйте только проверенные старые архивы. Активные журналы сначала ротируйте штатным способом; массовое обнуление всех error_log уничтожит диагностику и может не освободить занятое место.
  5. Очистите кеш приложенияЕсли установлен WordPress, войдите в его панель и откройте настройки конкретного плагина кэширования → «Очистить»/«Purge cache»; в Битрикс примените штатную очистку управляемого кэша из административной панели. Сначала убедитесь, что папка действительно относится к кэшу, а не к оригиналам изображений. После очистки обновите пару страниц и повторно проверьте квоту.
  6. Очистите корзину почты и спамВойдите в веб-почту каждого ящика, откройте «Спам» и «Корзина», выделите ненужные письма и очистите папки. Проверьте в статистике хостинга, входит ли почта в общий объём. Если уменьшения нет, уточните задержку пересчёта в панели и очистку удалённых сообщений у провайдера; не удаляйте каталоги Maildir через файловый менеджер.
  7. Перенесите бэкапы вне хостингаОткройте найденные резервные копии в панели и скачайте одну пригодную полную копию файлов и базы на отдельное хранилище. Если поддерживается встроенное копирование в облако, настройте его и проведите пробное восстановление на тестовой площадке. Только после проверки новой копии удаляйте лишние серверные архивы, не трогая используемые хостером автоматические снимки.
  8. Если места не хватает, увеличьте тарифЕсли расчистка не помогает, откройте условия тарифа и сравните отдельно лимиты диска и inode. Выберите достаточный объём с запасом на журналы и временные файлы, согласуйте расширение с хостером. После изменения лимита проверьте запись нового тестового файла и создание файла в проблемном каталоге; если ошибка остаётся, передайте поддержке время и текст сообщения.
  9. Команды для отдельных ситуацийВыберите только подходящий вариант. Это не одна последовательность: часть команд диагностирует проблему, а часть меняет настройки или данные.
    Выберите подходящий вариант — это не команды для последовательного выполнения
    Вариант 1Размер каталогов в домашней папке (отсортировано)
    Linux · Терминал (Bash)Команда
    Размер каталогов в домашней папке (отсортировано)
    du -h --max-depth=1 ~ 2>/dev/null | sort -hr | head -20
    Вариант 2Самые крупные файлы
    Linux · Терминал (Bash)Команда
    Самые крупные файлы
    find ~ -type f -size +100M -exec ls -lh {} \; 2>/dev/null | sort -k5 -hr | head -20
    Вариант 3Каталоги с наибольшим числом файлов (inode)
    Linux · Терминал (Bash)Команда
    Каталоги с наибольшим числом файлов (inode)
    for d in ~/*; do echo "$(find "$d" 2>/dev/null | wc -l) $d"; done | sort -nr | head -10
    Вариант 4Квота пользователя (если доступна на сервере)
    Linux · Терминал (Bash)Команда
    Квота пользователя (если доступна на сервере)
    quota -s
    df -h ~
    df -i ~
    Вариант 5Очистить файлы логов (замените путь; не удаляйте файл, а обнулите)
    Linux · Терминал (Bash)С осторожностью
    Очистить файлы логов (замените путь; не удаляйте файл, а обнулите)
    ls -lh ~/logs/error.log 2>/dev/null
    # Сохраните старые журналы через панель; активные файлы ротируйте штатными средствами хостинга.

    Команда может изменить состояние системы или её настройки. Проверьте параметры и последствия перед запуском.

    Вариант 6Старые архивы резервных копий
    Linux · Терминал (Bash)Команда
    Старые архивы резервных копий
    ls -lh ~/*.tar.gz ~/*.zip ~/backup* 2>/dev/null

#Отличия панелей

В ISPmanager квоту смотрят в «Пользователи» (поле «Дисковое пространство»), в HestiaCP/VestaCP — в «Пользователи» или v-list-user имя. В cPanel — в блоке «Статистика» справа или «Использование диска». Если лимит исчерпан из-за журналов почты или статистики, очистите их в разделе «Статистика» панели. Увеличить квоту можно в тарифе хостинга или обратившись в поддержку, если вы администратор VPS.

#Проверка квоты по панелям в командной строке

Если у вас VPS с панелью, квоту можно проверить командами панели. В HestiaCP: v-list-user имя json покажет DISK_QUOTA и U_DISK, а v-list-web-domains имя — занятое место по доменам. В VestaCP команды такие же с префиксом v-. В ISPmanager квота отображается в списке пользователей, а проверка системной квоты выполняется командой repquota -a, если на файловой системе включены квоты. Отдельно проверьте раздел /var/lib/mysql: база данных не входит в квоту файлов, но учитывается на VPS общим объёмом диска.

Linux · Терминал (Bash)Команда
HestiaCP/VestaCP: данные пользователя и использование диска (имя замените)
/usr/local/hestia/bin/v-list-user имя json
/usr/local/vesta/bin/v-list-user имя json

Если места не хватает на всём сервере (а не у одного аккаунта), проверьте df -h и очистите /var/log и /var/cache: команда journalctl --vacuum-size=200M ограничит размер журналов systemd.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.