Ошибка «Слишком много открытых файлов» или«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 |
Еще можно посмотреть
Похожие записи
- Подключение репозитория под ОС Linux
- Ошибка 1С:Предприятие «Потеряно соединение»
- НАСТРОЙКА PG_PROFILE ДЛЯ POSTGRESQL 1.
- Статистика PostgreSQL при работе с 1С:Предприятием
- Очистка кэша: серверного и клиентского для 1С:Предприятия
- Настройка непрерывного архивирования (point-in-time-recovery, PITR) в PostgresPro 11 Linux
- 1C тормозит и возникают ошибки. С чего начать расследование?
- Анализ технологического журнала 1С регулярными выражениями. От простого к сложному.
- Хранение файлов 1С в томах на nfs-шаре Linux
- Администрирование серверов 1С на Linux