![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
Anton Vatchenko |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 21.5.2004 Репутация: -1 Всего: -1 |
После вызова 10 fork система ругается, что не может выделить больше памяти, а при pthread_create - на второй раз слетает с той же ошибкой. Есть что-то, что меньше расходует ресурсы? Нужно создать около 150 потоков...
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
fork() возвращает ENOMEM или EAGAIN? если второе, то поможет увеличение лимита на количество создаваемых дочерних процессов у родительского man 2 setrlimit man 2 getrlimit -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Anton Vatchenko |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 21.5.2004 Репутация: -1 Всего: -1 |
ENOMEM
|
|||
|
||||
permea |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.4.2007 Репутация: нет Всего: нет |
? #include <sched.h> int clone(int (*fn)(void *), void *child_stack, int flags, void *arg); _syscall2(int, clone, int, flags, void *, child_stack); ? |
|||
|
||||
Anton Vatchenko |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 21.5.2004 Репутация: -1 Всего: -1 |
весь инет обрыл, и не мог найти, что передавать в child_stack.
|
|||
|
||||
permea |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.4.2007 Репутация: нет Всего: нет |
Аргумент child_stack указывает на местонахождение стека, использованного дочерним процессом. Хотя дочерний и родительский процессы могут разделять память, дочернему процессу нельзя ипспользовать тот-же стек для исполнения, что и вызывающему процессу. Поэтому родительский процесс должен выделить пространство в памяти под стек дочернего процесса и передать указатель на это пространство функции clone. На всех процессорах с реализацией Linux (кроме процессоров HP PA) стек "растет вниз". child_stack обычно указывает на самый последний адрес памяти для стека дочернего процесса.
(с) http://www.opennet.ru/man.shtml?topic=clon...2&russian=0 ? |
|||
|
||||
Anton Vatchenko |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 460 Регистрация: 21.5.2004 Репутация: -1 Всего: -1 |
Это я читал. И что туда передавать?
|
|||
|
||||
permea |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.4.2007 Репутация: нет Всего: нет |
Надо полагать, указатель на конец выделенного маллоком куска памяти.
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
Anton Vatchenko,
clone() не стандартизирован POSIX-ом так что, если нужна совместимость не только с Linux, подумай прежде чем его использовать лучше скажи, чем у тебя система загружена, что больше чем на 10 fork-ов памяти не хватает? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Goganchic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 678 Регистрация: 18.6.2004 Репутация: нет Всего: 5 |
А это точно не лимиты самой системы?
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Goganchic |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 678 Регистрация: 18.6.2004 Репутация: нет Всего: 5 |
точно-точно, извиняюсь
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |