Próbuję wykonać test warunków skrajnych na własnym serwerze za pomocą oblężenia za pomocą następującego polecenia:
$ siege -c 500 myweb.com/somefile.php
Ale pojawia się ten błąd:
[error] descriptor table full sock.c:119: Too many open files
Dostaję też to ostrzeżenie:
libgcc_s.so.1 must be installed for pthread_cancel to work
Ale używam Ubuntu 15.04 (gałąź programistyczna) i zainstalowałem pakiet libgcc1, więc nie wiem, dlaczego jest on związany z tą biblioteką współdzieloną .so.
Jak mogę rozwiązać zbyt wiele otwartych plików i ostrzeżenie libgcc?
ubuntu
linux-networking
connection
socket
gcc
Shakaran
źródło
źródło
ulimit -n 10000
lub na stałe ( rtcamp.com/tutorials/linux/increase-open-files-limit ).Odpowiedzi:
Aby rozwiązać ten problem dla siebie, musiałem dostosować ustawienie „ulimit” systemu operacyjnego:
ulimit -a
- Sprawdź aktualne ustawienieulimit -n 10000
- Edytuj wartość ustawieniaŹródło: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=595527
źródło
Po prostu zwiększ maksymalną liczbę plików, które może otworzyć ten sam użytkownik w ramach tej samej sesji.
Źródło: http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/
źródło
Komunikat o błędzie wprowadza w błąd
, ale w twoim poleceniujest błąd:Po-c
określeniu liczby równoczesnych symulowanych użytkowników.Nie zapomnij sprawdzić uprawnień do pliku dziennika: domyślnie jest to plik
/var/log/siege.log
.Lub określ własne, dodając
--log=/home/user/siege.log
źródło
Instalacja
gcc-multilib
pomogła mi z tym (Ubuntu 16.04.3 LTS)sudo apt-get install gcc-multilib
źródło