The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"/etc/security/limits.conf  vs  php"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на сервере (Др. сетевые сервисы / Linux)
Изначальное сообщение [ Отслеживать ]

"/etc/security/limits.conf  vs  php"  +/
Сообщение от DearFrend on 14-Фев-10, 13:10 
Необходимо увеличтить размер stack size для PHP
До правки файла /etc/security/limits.conf команда
<?php system('ulimit -s') ?>   выдает 8192

После прописания в limits.conf
www-data        soft    stack   16384
www-data        hard    stack   16384

та же команда выдает 10240

Вопрос: как обойти ограничение в 10240? Нужно догнаться до 16 метров.

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "/etc/security/limits.conf  vs  php"  +/
Сообщение от sHaggY_caT (ok) on 14-Фев-10, 13:24 
>[оверквотинг удален]
>
>После прописания в limits.conf
>www-data        soft    
>stack   16384
>www-data        hard    
>stack   16384
>
>та же команда выдает 10240
>
>Вопрос: как обойти ограничение в 10240? Нужно догнаться до 16 метров.

Помимо pam, лимит так же может стоять в php.ini. Не уверена(что PHP-ый ulimit это учитывает), но я бы глянула сперва там.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "/etc/security/limits.conf  vs  php"  +/
Сообщение от DearFrend on 14-Фев-10, 13:43 
А теперь немного мистики.

Казалось бы, я уже почти победил, отвоевав 2мб под стэк.
Однако после рестарта апача, все вернулось на 8мб.

Помогло зайти под рутом, сделать ulimit -s 16384 для рута, и рестартнуть апач снова.

Теперь вопрос, как бы сделать так, чтобы ближайший ребут не поломал настройки?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "/etc/security/limits.conf  vs  php"  +/
Сообщение от sHaggY_caT (ok) on 14-Фев-10, 13:46 
>А теперь немного мистики.
>
>Казалось бы, я уже почти победил, отвоевав 2мб под стэк.
>Однако после рестарта апача, все вернулось на 8мб.
>
>Помогло зайти под рутом, сделать ulimit -s 16384 для рута, и рестартнуть
>апач снова.
>
>Теперь вопрос, как бы сделать так, чтобы ближайший ребут не поломал настройки?

А что у Вас в стартовых сценариях? Apache же под Вашим www-data работает?


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "/etc/security/limits.conf  vs  php"  +/
Сообщение от DearFrend on 14-Фев-10, 13:49 
Не совсем понятен вопрос, какой файлик нужно грепнуть?

Да, система убунту64 стандартная.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "/etc/security/limits.conf  vs  php"  +/
Сообщение от sHaggY_caT (ok) on 14-Фев-10, 14:17 
>Не совсем понятен вопрос, какой файлик нужно грепнуть?
>
>Да, система убунту64 стандартная.

Может, баг? Вот что удалось найти по PAM и Debian/Ubuntu:

https://bugs.launchpad.net/ubuntu/+bug/383289
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=515673

З.Ы. Вы уверены, что нужно только стек выставлять? Попробуйте временно очистить этот файлик, и посмотреть, что будет.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "/etc/security/limits.conf  vs  php"  +/
Сообщение от PavelR (??) on 14-Фев-10, 15:58 
>[оверквотинг удален]
>>
>>Да, система убунту64 стандартная.
>
>Может, баг? Вот что удалось найти по PAM и Debian/Ubuntu:
>
>https://bugs.launchpad.net/ubuntu/+bug/383289
>http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=515673
>
>З.Ы. Вы уверены, что нужно только стек выставлять? Попробуйте временно очистить этот
>файлик, и посмотреть, что будет.

Мое ИМХО говорит мне, что лимиты выставляются через систему PAM (т.е. например при авторизации), а когда стартует апач, он запускается рутом, и потом уже форкает процессы, работающие от некоторого пользователя. При таком форке, без дополнительных патчей в апач, PAM не используется, и лимиты, настроенные в /etc/security/limits.conf - не применяются.

Могу быть неправ. Комментируйте?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "/etc/security/limits.conf  vs  php"  +/
Сообщение от DearFrend on 14-Фев-10, 16:24 
>Мое ИМХО говорит мне, что лимиты выставляются через систему PAM (т.е. например
>при авторизации), а когда стартует апач, он запускается рутом, и потом
>уже форкает процессы, работающие от некоторого пользователя. При таком форке, без
>дополнительных патчей в апач, PAM не используется, и лимиты, настроенные в
>/etc/security/limits.conf - не применяются.
>
>Могу быть неправ. Комментируйте?

Очень похоже на правду, но тогда не совсем понятно, почему при ребуте значение выставляется
в 10240.
А если limits.conf не трогать, то дефолтное значение 8192


В багах написано про полное игнорирование limits.conf, а у меня вылазит 10240.

Мистика :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "/etc/security/limits.conf  vs  php"  +/
Сообщение от PavelR (??) on 14-Фев-10, 16:27 
>[оверквотинг удален]
>Очень похоже на правду, но тогда не совсем понятно, почему при ребуте
>значение выставляется
>в 10240.
>А если limits.conf не трогать, то дефолтное значение 8192
>
>
>В багах написано про полное игнорирование limits.conf, а у меня вылазит 10240.
>
>
>Мистика :)

может стартовый скрипт апача выставляет себе лимиты?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "/etc/security/limits.conf  vs  php"  +/
Сообщение от DearFrend on 14-Фев-10, 16:31 
>может стартовый скрипт апача выставляет себе лимиты?

Тогда почему последовательность

sudo bash
ulimit -s 16384
/etc/init.d/apache2 restart

выставляет всё как нужно?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "/etc/security/limits.conf  vs  php"  +/
Сообщение от sHaggY_caT (ok) on 14-Фев-10, 20:43 
>>может стартовый скрипт апача выставляет себе лимиты?
>
>Тогда почему последовательность
>
>sudo bash
>ulimit -s 16384
>/etc/init.d/apache2 restart
>
>выставляет всё как нужно?

У Вас есть чистая тестовая система, где бы можно было перепроверить (и на других дистрибутивах)?
К сожалению, у меня сейчас нет у самой достаточного числа времени для тестов, но советую именно проверить на другом дистрибутиве.
Да, для таких тестов рулят виртуалки :)

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

11. "/etc/security/limits.conf  vs  php"  +/
Сообщение от DearFrend on 14-Фев-10, 22:16 
На ноуте где-то центос валяется, завтра попробую, спасибо.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

12. "/etc/security/limits.conf  vs  php"  +/
Сообщение от PavelR (??) on 15-Фев-10, 07:01 
>>может стартовый скрипт апача выставляет себе лимиты?
>
>Тогда почему последовательность
>
>sudo bash
>ulimit -s 16384
>/etc/init.d/apache2 restart
>
>выставляет всё как нужно?

наверное, потому что лимиты наследуются. Вы выставляете себе лимит, а уже "от себя" запускаете апач, который наследует выставленный лимит, а после форка рабочих процессов лимит наследуется уже от самого процесса апача.

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

13. "/etc/security/limits.conf  vs  php"  +/
Сообщение от DearFrend on 23-Фев-10, 16:41 
Проверил на центосе и убунте

После прописания в limits.conf
* soft stack 16384
* hard stack 16384

В любой консольке ulimit -s выдает 16384
А вот когда делаю sudo bash - снова получаю 8192

Апач соответственно больше 10240 выдавать отказывается.

Вопрос, где еще, кроме limits.conf, можно выставить значения размера стэка?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру