Ошибка «Слишком много открытых файлов» или«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 |
Еще можно посмотреть
Установка и настройка хранилища конфигураций 1C на Linux сервере
Хранилище конфигурации 1С:Предприятия 8.3 является инструментом групповой разработки. Настраиваем сервер хранилища на Linux.
Проверка рабочих процессов сервера 1С на Linux
Как проверить на Linux запущены ли процессы сервера 1С. Проверка открытых портов сервера 1С
Ошибки на клиенте при подключении к серверу 1С на Linux. Часть 1
Рассмотрены ошибки при подключении к серверу 1С на Linux. Изложена методика поиска причин и путей их исправления
Администрирование серверов 1С на Linux
Привычным для нас инструментом управления кластером серверов 1С является консоль «Администрирование серверов 1С Предприятия» — «Microsoft Management Console». Данная консоль позволяет выполнять все необходимые действия по администрированию кластеров серверов 1С:Предприятия. Но, она имеет один недостаток – её невозможно использовать под ОС Linux. Но не все так плохо. Альтернативными средствами администрирования серверов 1С на Linux являются: […]
Ошибка 1С:Предприятие «Потеряно соединение»
Потеряно соединение Во время выполнения действия была потеряна связь с сервером. Проверьте сетевой соединение и нажмите "Повторить" для повторной попытки выполнения действия. Если ошибка повторится, возможно, сервер временно недоступен.
Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
Практический пример настройки Postgre SQL для непрерывного архивирования баз данных 1С Предприятия на ОС Linux
Отладка на сервере 1С на Linux
Настройка отладки на Linux сервере 1С. Пошаговый процесс настройки tcp и http отладки.
Похожие записи
- Подключение репозитория под ОС Linux
- Ошибка 1С:Предприятие «Потеряно соединение»
- НАСТРОЙКА PG_PROFILE ДЛЯ POSTGRESQL 1.
- Статистика PostgreSQL при работе с 1С:Предприятием
- Очистка кэша: серверного и клиентского для 1С:Предприятия
- Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
- 1C тормозит и возникают ошибки. С чего начать расследование?
- Анализ технологического журнала 1С регулярными выражениями. От простого к сложному.
- Хранение файлов 1С в томах на nfs-шаре Linux
- Администрирование серверов 1С на Linux