пятница, 26 февраля 2010 г.

wine etersoft problem (виснет при загрузке 1с)

источник http://cgroup.drohobych.com.ua/index.php?option=com_content&task=view&id=113&Itemid=128&limit=1&limitstart=10
При использовании ресурсоёмких win-приложений могут возникать проблемы, связанные с установленными в системе ограничениями.
Лимит на количество открытых файлов

Ещё одна сторона совместной работы: одновременное использование большего количества ресурсов, что может приводить к превышению стандартных лимитов, используемых по умолчанию в различных Unix-системах. Лимиты могут определяться как в момент компиляции ядра, так и настраиваться в любой момент в процессе работы.

В контексте использования WINE наиболее актуален лимит на открытые файлы. Если в приложении не открываются большие файловые базы или невозможно работать более чем 3-м пользователям одновременно, это может означать, что превышен лимит на открытые файлы.

Лимит на открытые файлы двухуровневый: с одной стороны, имеется лимит ядра на общее число всех открытых файлов, с другой стороны, для каждой командной оболочки пользователя также может быть выставлен лимит на число открытых файлов.

Узнать текущее значение лимита ядра можно через команду winediag. Обычно это значение достаточно велико.

Чтобы разово изменить это значение в Linux можно посредством той же proc, для этого нужно просто записать новое значение в файл file-max (потребуются права суперпользователя):

# echo "104854" > /proc/sys/fs/file-max
# cat /proc/sys/fs/file-max
104854

Пример 19. Изменение лимита на открытые файлы

Чтобы настройка лимитов сохранялась между перезагрузками, необходимо внести нужные значения в файл /etc/sysctl.conf:

# Maximum number of open files permitted
fs.file-max = 104854

Пример 20. Настройка sysctl.conf

Лимит по количеству открытых файлов для командной оболочки пользователя можно контролировать при помощи подсистемы авторизации PAM. Для этого в конфигурационном файле /etc/security/limits.conf выставляются необходимые значения:

* soft nofile 5000
* hard nofile 5000

можно заменить
* - nofile 5000

Пример 21. Указание лимитов в /etc/security/limits.conf

В данном случае указанлимит в 5000 файлов. Чтобы лимит применялся при регистрации пользователей в системе, в файле /etc/pam.d/system-auth должна быть строка:

session required /lib/security/pam_limits.so

Пример 22.

После повторного входа в систему выставленное вами значение лимита должно быть отображено в выводе команды ulimit -n.

Комментариев нет:

Отправить комментарий