围攻:描述符表已满sock.c:119:打开文件过多


10

我试图通过以下命令使用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警告?


3
似乎是bugs.launchpad.net/ubuntu/+source/siege/+bug/1317812。无论如何,尝试使用ulimit -n 10000或永久增加打开文件的最大数量(rtcamp.com/tutorials/linux/increase-open-files-limit)。
费德里科·塞拉利昂

Answers:




0

错误消息具有误导性,但您的命令中存在erorr:

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

之后,-c您必须指定同时模拟用户的数量。

不要忘记检查日志文件的权限:默认为/var/log/siege.log

或者,通过添加自己指定 --log=/home/user/siege.log


1
我指定了数字500。您的回答是错误的
shakaran 2015年

1
是的,你是对的。但是还是要检查日志文件
Sergey Grigorchuk

0

安装gcc-multilib帮助了我(Ubuntu 16.04.3 LTS)

sudo apt-get install gcc-multilib

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.