Я пытаюсь провести стресс-тест на своем собственном сервере, используя осаду с помощью следующей команды:
$ siege -c 500 myweb.com/somefile.php
Но я получаю эту ошибку:
[error] descriptor table full sock.c:119: Too many open files
И я тоже получаю это предупреждение:
libgcc_s.so.1 must be installed for pthread_cancel to work
Но я использую Ubuntu 15.04 (ветка разработки), и я установил пакет libgcc1, поэтому я не знаю, почему он компансирует эту разделяемую библиотеку .so.
Как я могу решить слишком много открытых файлов и предупреждение libgcc?
ubuntu
linux-networking
connection
socket
gcc
shakaran
источник
источник
ulimit -n 10000
или навсегда ( rtcamp.com/tutorials/linux/increase-open-files-limit ).Ответы:
Чтобы решить эту проблему для себя, мне пришлось настроить параметр «ulimit» ОС:
ulimit -a
- Проверьте текущие настройкиulimit -n 10000
- Изменить значение настройкиИсточник: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=595527.
источник
Просто увеличьте максимальное количество файлов, которые могут быть открыты одним и тем же пользователем в одном сеансе соответственно.
Источник: http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/
источник
Сообщение об ошибке вводит в заблуждение
, но в вашей команде есть erorr:После-c
вы должны указать количество одновременно симулируемых пользователей.Не забудьте проверить права на файл журнала: по умолчанию это
/var/log/siege.log
.Или укажите свой, добавив
--log=/home/user/siege.log
источник
Установка
gcc-multilib
помогла мне в этом (Ubuntu 16.04.3 LTS)sudo apt-get install gcc-multilib
источник