bad*_*dri 12 c sockets linux errno error-code
这2个linux错误有errno.h什么区别?23和24
我尝试了2个不同的网站,但无法理解两者之间的区别.
[EMFILE]
Too many open files.
[ENFILE]
Too many files open in system.
# define ENFILE      23  /* File table overflow */
# define EMFILE      24  /* Too many open files */
此外,我得到错误24和套接字呼叫在第974次失败.(AF_INETUDP数据报套接字)
当我做了一个cat /proc/sys/fs/file-max我看到值334076 ulimit -n显示1024
知道可以做些什么来增加限制吗?
您可以增加打开文件/文件描述符的最大数量
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 -Sn