- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
实际上,我尝试使用带有 java 的 bash 控制台在 opensuse 11 上启动 SIPP 3.3。当我用
开始 SIPP 时proc = Runtime.getRuntime().exec("/bin/bash", null, wd);
...
printWriter.println("./sipp -i "+Config.IP+" -sf uac.xml "+Config.IP+":5060");
错误流给出以下输出
Warning: open file limit > FD_SETSIZE; limiting max. # of open files to FD_SETSIZE = 1024 Resolving remote host '137.58.120.17'... Done.
警告是什么意思? bash 终端是否可能因为这个警告而卡住?我怎样才能删除这个警告?
最佳答案
我是 SIPp 的维护者,最近我一直在研究 FD_SETSIZE
问题。
如 Increasing limit of FD_SETSIZE and select 所述, FD_SETSIZE
是可以传递给 select() 调用的最大文件描述符,因为它在内部使用位字段来跟踪文件描述符。 SIPp 中有代码检查它自己的最大打开文件限制(即 ulimit -n
显示的限制),如果它大于 FD_SETSIZE
,将其减少到 FD_SETSIZE
,以避免 select() 出现问题。
然而,这实际上在一段时间内是不必要的——SIPp 使用了 poll() 而不是 select()(它没有 FD_SETSIZE
限制,并且自 2001 年以来一直是 POSIX 标准化和可移植的)自从我在 2012 年成为维护者之前。SIPp 现在也使用 epoll
以获得更好的性能,从 v3.4 开始发布。
我现在在开发代码中删除了这个 FD_SETSIZE
检查 https://github.com/SIPp/sipp ,并用更明智的检查替换它 - 确保打开套接字的最大数量(加上打开调用的最大数量,每个调用都可以打开自己的媒体套接字)低于文件描述符的最大数量。
关于linux - SIPP : open file limit > FD_SETSIZE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20099751/
我需要从 1024 增加 FD_SETSIZE 值至 4096 .我知道最好使用 poll()/epoll()但我想了解什么是优点/缺点。主要问题是:我要重新编译glibc吗? ?我读了几个线程,其中
我遇到一个问题,即返回的文件描述符会逐渐增加到大于 FD_SETSIZE 的数字。 我的 tcp 服务器不断关闭,这需要我的客户端关闭套接字并重新连接。然后,客户端将尝试通过调用 socket 重新连
在服务器/客户端设置中,我有一个服务器通过少数(目前是 4 个)不同套接字与客户端连接。目前我使用带有计算 set_size 的 select,但是在值得使用 FD_SETSIZE 之前上限是多少?
我目前是 PHP 和 MySQL 的新手,但是,我正在尝试为 Club Penguin Emulator 运行 PHP 服务器代码,但是,随着越来越多的人加入并使加入变得异常困难,我没有运气由于 PH
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 5 年前。 Improve this qu
我想为我的系统增加 FD_SETSIZE 宏值。有什么办法可以增加 FD_SETSIZE 这样 select 就不会失败 最佳答案 根据标准,无法增加 FD_SETSIZE。一些程序和库(想到 lib
我们有一个使用 select() 设计的网络服务器,直到上周才真正看到太多负载,并且在我们的 500-1000 conn/s 负载下始终可以正常工作。然而,我们最近开始看到更高的负载(和尖峰)并遇到了
我编辑了 __FD_SETSIZE = 1024 到 4096: /usr/include/linux/posix_types.h /usr/include/x86_64-linux-gnu/bits
实际上,我尝试使用带有 java 的 bash 控制台在 opensuse 11 上启动 SIPP 3.3。当我用 开始 SIPP 时 proc = Runtime.getRuntime().exec
我是一名安卓程序员。 今天我运行一个 Android 应用程序时遇到了此类错误。 FORTIFY_SOURCE: FD_SET: file descriptor >= FD_SETSIZE. Call
我在新安装的 16"Macbook(带有 OSX 10.15.1 Catalina)上运行 MySQL@5.7 时遇到了一个大问题PDO::__construct():MySQL 服务器已经消失。 这
选择高于 255 的 fds 不检查 fd 是否打开。这是我的示例代码: #include #include #include #include int main() { fd_set
这些错误列表的含义是什么,更重要的是如何解决这些错误?如果有人也可以发表评论,那我应该期待什么可能的问题,这可能会促使我采取一些措施,因为我不清楚,因为我的应用程序正在运行并且显示正确 我发现了一个与
我是一名优秀的程序员,十分优秀!