Модераторы: ginnie, korob2001
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> лимит threads 
V
    Опции темы
alezzz
Дата 2.10.2015, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: нет
Всего: 14



Linux NLVPS2 2.6.32-40-pve #1 SMP Fri Jul 24 11:16:05 CEST 2015 i686 GNU/Linux
Debian GNU/Linux 7

Не получается создать больше 250 потоков, ОЗУ хватает.
Thread creation failed: pthread_create returned 11 at ...

из того что нашел в интернете:

# cat /proc/sys/kernel/threads-max
126962

# cat /proc/sys/kernel/pid_max
32768

вроде как должно хватать, что не дает создать больше потоков?
PM MAIL   Вверх
tzirechnoy
Дата 2.10.2015, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 0
Всего: 16



А ulimit -u что говорит?
PM MAIL   Вверх
alezzz
Дата 2.10.2015, 15:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: нет
Всего: 14



# ulimit -u
63481
PM MAIL   Вверх
tzirechnoy
Дата 3.10.2015, 17:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 0
Всего: 16



Стоп. i686? Да нифига не хватает памяти (виртальной), там метров 10 под стэк каждой нити сразу выделяется.
PM MAIL   Вверх
alezzz
Дата 4.10.2015, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: нет
Всего: 14



Да 686, а почему не хватает? 
Смотрю по top, было 500М ОЗУ, запускал 200 потоков и они с постепенной утечкой памяти забрали от 75% вначале до 90% памяти. Добавили на сервер еще памяти до 1Г, запускаю 250 потоков, по top они забирают до 50% ОЗУ.
PM MAIL   Вверх
tzirechnoy
Дата 4.10.2015, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 0
Всего: 16



Да пофиг на ОЗУ, ему с умолчательными настройками VIRT нехватит -- там 2 или 3 GiB в зависимости от ядра.
PM MAIL   Вверх
alezzz
Дата 4.10.2015, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: нет
Всего: 14



virt под 3000m, на это вообще не обратил внимание. 
ясно, спасибо.

Добавлено через 2 минуты и 23 секунды
Цитата(tzirechnoy @  4.10.2015,  16:14 Найти цитируемый пост)
ему с умолчательными настройками VIRT нехватит

а неумолчательные это какие, или на x32 выше уже не прыгнешь?
PM MAIL   Вверх
alezzz
Дата 5.10.2015, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


сплю...
**


Профиль
Группа: Участник
Сообщений: 499
Регистрация: 17.8.2009

Репутация: нет
Всего: 14



нашел
Код

use threads ('stack_size' => 512*1024);

так можно уменьшить размер стека, запустил 600 потоков, только теперь использование ОЗУ около 97%. smile
PM MAIL   Вверх
tzirechnoy
Дата 6.10.2015, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1173
Регистрация: 30.1.2009

Репутация: 0
Всего: 16



Ну да, как-то так. Если уменьшыть килобайт до 50 -- то можно где-то вдвое большэ, наверное, но там ужэ упираемся в то, что perl сейчас иницыализирует новый интэрпретатор для каждой нити, и ему реально сотни килобайт памяти требуются.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: Системное программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к системному программированию на Perl
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.1145 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.