linux 句柄数限制_linux文件句柄数

linux 句柄数限制_linux文件句柄数一个部署到linux下的中间件项目,当收到一个Client登录的时候,需要为这个Client打开四个文件,当进行多用户的大压力测试的时候,程序就出问题了:toomanyopenedfiles。网上一查,发现有人也碰到过类似的socket/File:Can’topensomanyfiles问题。在此总结一下这个问题,希望对后来之人有点帮助。解决之法:1,ulimit…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一个部署到 linux下的中间件项目,当收到一个 Client登录的时候,需要为这个 Client打开四个文件,当进行 多用户的大压力测试的时候,程序就出问题了: too many opened files。 网上一查,发现有人也碰到过类似的 socket/File: Can’t open so many files问题。 在此总结一下这个问题,希望对后来之人有点帮助。

解决之法:

1, ulimit -a 查看当前用户的文件句柄限制

open files (-n) 65535这个就是限制数量。 (65535是我已经修改后的值了,没修改前是1024)

2,修改 /etc/security/limits.conf 增加下面的代码:

Shell代码

1bfae35c86363ffa9798e87ea82845c7.png

你的用户名  soft nofile 65535

你的用户名 hard nofile 65535

我们添加了有 soft, hard两种:硬限制是实际的限制,而软限制,是 warnning限制,只会做出 warning。修改时,改成一样就可以了。

3, 重启 shell即可。 (有些系统可能需要重启系统 , red hat 的肯定不用的)

4, ulimit -a 查看设置是否成功。

原理分析:

Linux是有文件句柄限制的,而且默认不是很高,一般都是 1024,应用程序很容易就达到这个数量,所以也就有了这篇文章。 ulimi是对单一程序的限制 ,而不是单个用户。

查看系统总限制 命令:

Shell代码

1bfae35c86363ffa9798e87ea82845c7.png

cat /proc/sys/fs/file-max

查看整个系统目前使用的文件句柄数量命令:

Shell代码

1bfae35c86363ffa9798e87ea82845c7.png

cat /proc/sys/fs/file-nr

辅助命令:

查找文件句柄问题的时候,还有一个很实用的程序 lsof,可以很方便看到某个进程开了哪些句柄 :

Shell代码

1bfae35c86363ffa9798e87ea82845c7.png

lsof -p pid

某个进程开了几个句柄 :

Shell代码

1bfae35c86363ffa9798e87ea82845c7.png

lsof -p pid |wc -l

也可以看到某个目录 /文件被什么进程占用了,显示已打开该目录或文件的所有进程信息 :

Shell代码

1bfae35c86363ffa9798e87ea82845c7.png

lsof path/filename

原帖:http://sesame.iteye.com/blog/425678

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/180719.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • tomcat文件上传大小限制_tomcat调整内存大小

    tomcat文件上传大小限制_tomcat调整内存大小1.Get方法长度限制HttpGet方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制。这个限制是特定的浏览器及服务器对它的限制。如:IE对URL长度的限制是2083字节(2K+35)。下面就是对各种浏览器和服务器的最大处理能力做一些说明.MicrosoftInternetExplorer(Browser)IE浏览器对URL的最大限制为2083个字符,如果超过这个数…

    2022年8月24日
    11
  • 解决QTreeView不能设置列宽的问题「建议收藏」

    解决QTreeView不能设置列宽的问题「建议收藏」转载请注明出处:http://www.cnblogs.com/dachen408/p/7206738.html 设置model之前:ui.treeView->setColumnWidth(0,300);ui.treeView->setColumnWidth(1,150);ui.treeView->setColumnWidth(2,150);ui.treeV

    2022年5月8日
    203
  • java 设置400错误_Java项目报400错误的原因与解决方法

    java 设置400错误_Java项目报400错误的原因与解决方法java项目中400错误介绍:(推荐:java视频教程)400BadRequest:请求中的语法错误。Reason-Phrase应当标志这个详细的语法错误,比如”MissingCall-IDheaderfield”。HTTP400错误-请求无效(Badrequest)在ajax请求后台数据时有时会报HTTP400错误-请求无效(Badrequest);出现这个请…

    2022年9月26日
    0
  • 快速解决Android中的selinux权限问题

    快速解决Android中的selinux权限问题关于selinux的详细资料,请查阅http://blog.csdn.net/innost/article/details/19299937在Android开发的过程中,遇到关于selinux相关的东西,当时还一下子看不懂,现在好像有点眉目了。比如,内核打印这个提示type=1400audit(32.939:25):avc:denied{open}forpid=2…

    2022年6月27日
    50
  • 高通骁龙430系列-MSM8937 ( Cortex-A53架构)「建议收藏」

    高通骁龙430系列-MSM8937 ( Cortex-A53架构)「建议收藏」核心板特性产品尺寸小,便于客户集成,减少产品体积;支持4GLTE超高速上网,单板兼容移动/联通/电信2G/3G/4G;丰富的接口配置,满足大多数客户需求;高通骁龙8937(高通骁龙430系列)产品首款核心板产品;产品单面布板,可有效降低产品厚度;产品质量稳定可靠;提高开发效率。客户系统架构无需从零开始;降低开发难度。客户重点放在应用方案开发上,不必关注无线网络方案;增强可维护性。通过核心板的更迭…

    2022年4月19日
    736
  • mysql卸载重装教程_MySQL安装不了

    mysql卸载重装教程_MySQL安装不了关于MySQL的安装和卸载,需要的小伙伴可以参考下

    2022年9月26日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号