Estou tentando fazer um teste de estresse no meu próprio servidor usando o cerco com o seguinte comando:
$ siege -c 500 myweb.com/somefile.php
Mas eu recebo este erro:
[error] descriptor table full sock.c:119: Too many open files
E recebo também este aviso:
libgcc_s.so.1 must be installed for pthread_cancel to work
Mas estou usando o Ubuntu 15.04 (ramo de desenvolvimento) e instalei o pacote libgcc1, por isso não sei por que ele está complanando sobre essa biblioteca compartilhada .so.
Como posso resolver muitos arquivos abertos e o aviso libgcc?
ubuntu
linux-networking
connection
socket
gcc
shakaran
fonte
fonte
ulimit -n 10000
ou permanentemente ( rtcamp.com/tutorials/linux/increase-open-files-limit ).Respostas:
Para resolver esse problema, tive que ajustar a configuração "ulimit" do sistema operacional:
ulimit -a
- Verifique a configuração atualulimit -n 10000
- Editar valor da configuraçãoFonte: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=595527
fonte
Apenas aumente o número máximo de arquivos que podem ser abertos pelo mesmo usuário na mesma sessão.
Fonte: http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/
fonte
A mensagem de erro é enganosa
, mas há um erro no seu comando:Depois que-c
você deve especificar o número de usuários simulados simultâneos.Não se esqueça de verificar os direitos do arquivo de log: por padrão, é
/var/log/siege.log
.Ou especifique o seu próprio adicionando
--log=/home/user/siege.log
fonte
Instalar o
gcc-multilib
me ajudou com isso (Ubuntu 16.04.3 LTS)sudo apt-get install gcc-multilib
fonte