errno.h中有什么区别? 23和24。
我尝试了两个不同的网站,但无法理解两者之间的区别。EMFILE打开的文件太多了。在系统中打开的文件太多。
定义ENFILE 23 /*文件表溢出*/ #定义EMFILE 24 /*太多打开的文件*/
AF_INET UDP数据报套接字)
当我做cat /proc/sys/fs/file-max时,我看到的值是334076 ulimit -n,显示的是1024
知道怎么做才能提高限额吗?发布于 2014-07-21 10:21:00
对于1)这两种错误代码都与打开文件过多的情况有关。EMFILE在您的过程中打开的文件太多了。在整个系统中打开的文件太多了。
发布于 2014-07-21 10:23:34
可以增加打开的文件/文件描述符的最大数量。
sysctl -w fs.file-max=100000或打开
/etc/sysctl.conf并将fs.file-max附加/更改到您需要的号码:
fs.file-max = 100000那就跑
sysctl -p重新加载新设置
如果不想设置系统范围的FD (文件描述符)限制,可以设置用户级FD限制。
您需要编辑/etc/security/limits.conf file
对于用户YOUR_USER,添加以下行:
YOUR_USER soft nofile 4096
YOUR_USER hard nofile 10240若要设置用户YOUR_USER的软和硬限制,请执行以下操作。
保存并关闭文件。
要查看用户YOUR_USER的硬限制和软限制:
su - YOUR_USER
ulimit -Hn
ulimit -Snhttps://stackoverflow.com/questions/24862733
复制相似问题