web-dev-qa-db-ja.com

Siege:記述子テーブルがいっぱいですsock.c:119:開いているファイルが多すぎます

次のコマンドでsiegeを使用して、自分のサーバーでストレステストを実行しようとしています。

$ 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警告を解決するにはどうすればよいですか?

9
shakaran

この問題を自分で解決するには、OSの「ulimit」設定を調整する必要がありました。

ulimit -a-現在の設定を確認

ulimit -n 10000-設定値を編集

出典: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=595527

8
bradforbes

それに応じて、同じセッション内で同じユーザーが開くことができるファイルの最大数を増やすだけです。

ソース: http://www.cyberciti.biz/faq/linux-increase-the-maximum-number-of-open-files/

1
Ruslan Abuzant

エラーメッセージは誤解を招く、しかしあなたのコマンドにはエラーがあります:

$ siege -c 500 myweb.com/somefile.php

-cの後に、シミュレートされた同意ユーザーの数を指定する必要があります。

ログファイルの権限を確認することを忘れないでください。デフォルトでは/var/log/siege.logです。

または、--log=/home/user/siege.logを追加して独自のものを指定します

0

gcc-multilibのインストールはそれを助けてくれました(Ubuntu 16.04.3 LTS)

Sudo apt-get install gcc-multilib

0
lucidyan