首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux errno 23和Linux errno 24的区别

Linux errno 23和Linux errno 24的区别
EN

Stack Overflow用户
提问于 2014-07-21 10:18:12
回答 2查看 14.2K关注 0票数 14
  1. 这两个linux错误在errno.h中有什么区别? 23和24。 我尝试了两个不同的网站,但无法理解两者之间的区别。

EMFILE打开的文件太多了。在系统中打开的文件太多。

定义ENFILE 23 /*文件表溢出*/ #定义EMFILE 24 /*太多打开的文件*/

  1. 此外,我得到错误的24和套接字调用失败在974次。(AF_INET UDP数据报套接字) 当我做cat /proc/sys/fs/file-max时,我看到的值是334076 ulimit -n,显示的是1024 知道怎么做才能提高限额吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-21 10:21:00

对于1)这两种错误代码都与打开文件过多的情况有关。EMFILE在您的过程中打开的文件太多了。在整个系统中打开的文件太多了。

票数 14
EN

Stack Overflow用户

发布于 2014-07-21 10:23:34

可以增加打开的文件/文件描述符的最大数量。

代码语言:javascript
复制
sysctl -w fs.file-max=100000

或打开

代码语言:javascript
复制
/etc/sysctl.conf

并将fs.file-max附加/更改到您需要的号码:

代码语言:javascript
复制
fs.file-max = 100000

那就跑

代码语言:javascript
复制
sysctl -p

重新加载新设置

如果不想设置系统范围的FD (文件描述符)限制,可以设置用户级FD限制。

您需要编辑/etc/security/limits.conf file

对于用户YOUR_USER,添加以下行:

代码语言:javascript
复制
YOUR_USER soft nofile 4096
YOUR_USER hard nofile 10240

若要设置用户YOUR_USER的软和硬限制,请执行以下操作。

保存并关闭文件。

要查看用户YOUR_USER的硬限制和软限制:

代码语言:javascript
复制
su - YOUR_USER

ulimit -Hn
ulimit -Sn
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24862733

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档