Win32, HRESULT и системные коды Windows 10Windows 11 0x8007000480070004

Ошибка 0x80070004 в Windows: системе не удаётся открыть файл (слишком много открытых файлов)

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

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

Ошибка 0x80070004 соответствует ERROR_TOO_MANY_OPEN_FILES: процесс исчерпал лимит открытых дескрипторов файлов. Это либо утечка в программе, либо слишком большое число одновременно открытых документов.

В этой статье
  1. Что означает ошибка
  2. Причины и признаки
  3. Пошаговое решение
  4. Проверка результата

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

0x80070004
Ошибка 0x80070004 системе не удаётся открыть файл (слишком много открытых файлов)

Ошибка 0x80070004 соответствует ERROR_TOO_MANY_OPEN_FILES: процесс исчерпал лимит открытых дескрипторов файлов. Это либо утечка в программе, либо слишком большое число одновременно открытых документов.

#Причины и признаки

Возможная причинаКак узнатьЧто делать
Утечка дескрипторовПрограмма не закрывает файлы.Ошибка со временем. Сопоставьте время появления ошибки с последними изменениями системы и параметрами текущей учётной записи.Перезапустите программу.
Слишком много файлов открытоАрхиватор, копирование.Ошибка при массовых операциях. Сверьте точное имя и расположение файла; попробуйте действие на копии без изменения исходника.Выполняйте порциями.
Антивирус открывает много файловОшибка при нагрузке. Откройте журнал защиты и найдите запись с тем же временем. Не отключайте защиту: сначала проверьте источник файла или правило блокировки.Проверить журнал событий без отключения защиты.
Ограничения службыОшибка на сервере. Сопоставьте запись в журнале службы со временем ошибки и проверьте, не занят ли требуемый порт другим процессом.Проверить реальное число дескрипторов и логи службы; не менять лимиты без подтверждения.

#Пошаговое решение

  1. Найдите процесс, которому не удаётся открыть файлыКод 0x80070004 соответствует ERROR_TOO_MANY_OPEN_FILES, а текст системы может быть «Системе не удаётся открыть файл». Запишите программу, время, число одновременно открытых документов и операцию. Это не означает автоматически, что на компьютере нужно увеличивать глобальный лимит файлов.
  2. Проверьте, воспроизводится ли проблема при меньшей нагрузкеСохраните документы и закройте ненужные окна проблемной программы обычным способом. При массовом импорте разбейте операцию на небольшие партии, если приложение это позволяет, и проверьте одну партию. Если такая проверка успешна, причина может быть в длительно открытых дескрипторах программы или слишком высокой параллельности; не удаляйте исходные файлы.
  3. Посмотрите потребление дескрипторов процессаНажмите Ctrl+Shift+Esc → «Диспетчер задач» → «Подробности». При наличии настройки столбцов нажмите правой кнопкой по заголовку → «Выбрать столбцы» → включите «Дескрипторы» (Handles). Найдите процесс по имени и посмотрите, растёт ли показатель при повторении одной и той же операции. Это диагностический признак, а не доказательство утечки; запишите данные и время.
  4. Обновите или восстановите только проблемную программуЕсли один процесс постоянно наращивает число дескрипторов, сохраните все открытые файлы, закройте его штатно и откройте вновь. Проверьте обновление через меню приложения или официальный сайт. Если проблема возвращается, передайте разработчику шаги воспроизведения и значение счётчика Handles; перезапуск даёт лишь временный эффект.
  5. Для службы используйте журналы и контролируемое обслуживаниеЕсли ошибка появляется на сервере или в службе, администратор проверяет журнал именно этой службы и число дескрипторов её процесса. Не меняйте реестр и не увеличивайте «лимиты Windows» по общему совету; сначала подтвердите реальный предел или утечку по документации приложения. Запланированная перезагрузка службы может разорвать соединения и должна быть согласована.
  6. Проверьте обычную нагрузкуПовторите исходную операцию и убедитесь, что файлы открываются без ошибки; если сбой возникает снова по мере работы, сохраните показатели из диспетчера задач и обратитесь к разработчику. Отключение антивируса не является стандартным методом устранения этой ошибки.

#Проверка результата

Повторите исходную операцию с тем же файлом, программой или параметром. Убедитесь, что код из сообщения «Ошибка 0x80070004 в Windows: системе не удаётся открыть файл (слишком много открытых файлов)» больше не появляется. Если возник другой код, запишите его отдельно: это может указывать на новую причину.

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

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

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