Ошибка «Слишком много открытых файлов» или«Too many open files» В 1С на Linux

Устраняем ошибку «Слишком много открытых файлов» или «Too many open files» в 1С под ОС Linux (Red Hat 7/Centos 7)
1. Увеличиваем лимит на открытые файлы всей системы.
2. Увеличиваем лимит на открытые файлы для процессов 1С.
3. Увеличиваем лимиты на открытые файлы для процесса 1С редактированием файла демона.
4. Увеличиваем максимальное число сегментов разделяемой памяти для всей системы.
Подробнее об ошибке
Пример полного текста ошибки:
1 |
Ошибка при выполнении файловой операции … Слишком много открытых файлов. |
1 2 3 4 5 |
Configuration repository operation failed. по причине: Error reading file from the file storage По причине: File operation error……: Too many open files |
Описание:
Данная ошибка связана с тем, что ОС Linux исчерпала ограниченный ей лимит файлов на открытие и может возникать как при работе пользователя в пользовательском режиме, так и при работе разработчика с хранилищем конфигурации.
Побочными ошибками данной проблемы могут являться также ошибки работы с дисковой подсистемой. Такие как:
1 |
Unable to open files |
Решение:
На всех серверах 1С выполним следующие настройки лимитов открываемых файлов.
Увеличиваем лимит на открытые файлы всей системы.
1. Получим значение количества файлов, которые можно открыть в нашей файловой системе:
1 |
cat /proc/sys/fs/file-max |
Скорее всего, здесь мы увидим числа порядка: 97822; 65208 и т.д.
Такие пределы нас вполне устраивают.
Данное значение используем в дальнейшей настройке.
Но, если понадобится их увеличить – добавим строку настроек в конфигурационный файл /etc/sysctl.conf любым удобным способом:
1 |
echo "fs.file-max = 65000" >>/etc/sysctl.conf |
2. Перечитаем параметры:
1 |
sysctl –p |
где 6500 – это то число файлов, которое нам необходимо иметь возможность открывать в нашей файловой системе.
Увеличиваем лимит на открытые файлы для процессов 1С.
1. Отредактируем файл:
1 |
vim /etc/security/limits.conf |
Добавим строки:
1 2 3 |
usr1cv8 hard nofile 65000 usr1cv8 soft nofile 65000 |
2. Перечитаем параметры:
1 |
sysctl –p |
3. Убедимся, что изменения вступили в силу. Получим pid службы:
1 |
ps -fu usr1cv8 | grep ragent |
4. По номеру pid получим значение параметра «max open files»:
1 |
cat /proc/pid/limits | grep open |
Значение должно быть 65000.
Увеличиваем лимиты на открытые файлы для процесса 1С редактированием файла демона.
Результат данной настройки будет аналогичен предыдущему варианту.
- Отредактируем настройки:
1 |
systemctl edit crsrv1cv8 |
Добавим строки:
1 2 3 4 5 |
[Service] LimitNOFILE=65000 LimitNOFILESoft=65000 |
2. Обновим конфигурацию демон:
1 |
systemctl daemon-reload |
3. Перезапустим демон:
1 |
systemctl restart crsrv1cv8 |
Отметим также, что помимо настроек, относящихся к количеству открытых файлов – может понадобится обратить внимание на настройки максимального числа сегментов разделяемой памяти для всей системы.
Увеличиваем максимальное число сегментов разделяемой памяти для всей системы.
- При необходимости — установим настройку:
1 2 3 |
echo "kernel.shmmni = 65000" >> /etc/sysctl.conf sysctl -p |
- Проверим, что настройка установилась:
1 |
cat /proc/sys/kernel/shmmni |
Все наши модифицированные настройки можем увидеть в конфигурационном файле /etc/sysctl.conf:
1 |
cat /etc/sysctl.conf |
Еще можно посмотреть
Ошибки на клиенте при подключении к серверу 1С на Linux. Часть 1
Рассмотрены ошибки при подключении к серверу 1С на Linux. Изложена методика поиска причин и путей их исправления
Ошибки на клиенте при работе с сервером 1С на Linux. Часть 2
Разбор наиболее часто встречающихся ошибок при работе с 1С на Linux.
Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
Практический пример настройки Postgre SQL для непрерывного архивирования баз данных 1С Предприятия на ОС Linux
Ошибки публикации базы и веб сервиса на веб сервере 1C+ Apache +Linux.
Многие из нас привыкли публиковать базу или веб сервис 1С нажатием нескольких кнопок. Но не все из многих знают, что для этого необходимо запустить(от имени администратора!) конфигуратор 1С:Предприятие именно на той машине, где установлен веб сервер(а именно компонента веб-расширения 1С:Предприятия). В случае, если веб-сервер и компонента веб-расширения 1С:Предприятия установлены на машину с ОС Linux без […]
Отладка на сервере 1С на Linux
Настройка отладки на Linux сервере 1С. Пошаговый процесс настройки tcp и http отладки.
Ошибки СУБД. 1С+PostgreSQL+Linux. Часть 2.
Ошибка СУБД: Продолжение сообщения может быть различным: 1. DATABASE не пригоден для использования 2. ERROR: type «tt7» already exists 3. ERROR: could not read block DATABASE не пригоден для использования Пример полного текста ошибки: [crayon-67e303f3b144a586284457/] Описание ошибки: База не запускается после установки и создания. Решения: Установим версию предназначенную для работы с 1С:Предприятием. Скачать такую можно […]
Утилита ring license для 1С версии 8.3.14 и выше под Linux
Для чего нужен 1C ring license? На текущий момент широко распространено использование программных лицензий. И системы на базе 1С в этом не исключение. Но, помимо простой активации пин-кодов, программная лицензия 1С также нуждается в обслуживании. Для обслуживания разработчику требуются знания об инструменте для получения списков, информации, анализа состояния файлов программных лицензий. Об этом инструменте мы […]
Похожие записи
- Подключение репозитория под ОС Linux
- Ошибка 1С:Предприятие «Потеряно соединение»
- НАСТРОЙКА PG_PROFILE ДЛЯ POSTGRESQL 1.
- Статистика PostgreSQL при работе с 1С:Предприятием
- Очистка кэша: серверного и клиентского для 1С:Предприятия
- Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
- 1C тормозит и возникают ошибки. С чего начать расследование?
- Анализ технологического журнала 1С регулярными выражениями. От простого к сложному.
- Хранение файлов 1С в томах на nfs-шаре Linux
- Администрирование серверов 1С на Linux