linux 服务器上执行程序down机,查看log日志发现panic :too many open file

解决方法:

运行ulimit -a 查看我们open file的文件数量

1024确实有点少了,通过命令umlimit -n 65535 来修改open file的值

这个命令可以把默认的句柄数改为2000,但系统重启后会恢复默认值(关闭窗口在重新登陆服务器你就会发现open file 变成了默认值)

修改linux单进程连接数

修改linux系统参数。vi /etc/security/limits.conf 添加
*  soft  nofile  65536
*  hard  nofile  65536
修改以后保存,注销当前用户,重新登录,执行ulimit -a ,ok ,参数生效了:

linux 句柄查看命令参考:

linux 文件句柄数查看命令_骄阳如火的博客-CSDN博客_linux 文件句柄数查看命令

永久修改open file 需要修改两个参数,file-max和limits.conf中的两个参数,为什么需要修改这两个参数和open file发生的根本原因可以参考:

https://www.cnblogs.com/chenpingzhao/p/5563602.html

女生也看得懂的linux中open file设置原则-CSDN论坛

修改步骤:

linux修改open file 大小,修改步骤如下:

1》修改file-max

修改文件:

vi /etc/sysctl.conf

在文件末尾加入:

fs.file-max = 65535

保存文件,重启后生效

2》修改ulimit的open file,系统默认的ulimit对文件打开数量的限制是1024

修改文件:

vi /etc/security/limits.conf

在文件中加入:

soft nofile 65535
hard nofile 65535

修改完成,保存文件,重启后生效

但是这里需要注意的是修改limits.conf 文件时候要根据系统核数进行修改,不能随便写,一般按照4核算的话 (4*1024*1024) 虚拟内存就这么大,大约一百万左右,你的file-max limit.conf中的那两个值就不能比这个大

如果写的比虚拟内存还打的后果就是sudo 登陆不上,系统无法打开i新的文件,因为linux系统一切皆文件,所以后果会很难受,一般执行sudo的时候会有这个报错

sudo: pam_open_session: Permission denied
sudo: policy plugin failed session initialization

一次修改limits.conf 引发的血案 - 简书(可以参考这个)

我用的国外的服务器,无法重启生效(亚马逊的服务器用过的就知道为啥不介意重启了)

就针对进程来进行对应的openfile修改

ulimit -HSn 65535

  ulimit-a 查看是否修改

这时,可以考虑通过修改/proc/’程序pid’/limits来实现动态修改!!!

也就是说,你执行完ulimit -HSn 65535 在执行你的程序,你的执行程序就会自己记录open file 哪怕关闭服务器窗口,虽然ulimit -a 查询已经回复默认值,但是你的这个执行程序的open file是不会回到默认值的

linux open file的修改和too many open file问题的解决相关推荐

  1. html5 input file样式修改,css为input type=file设置自定义样式

    input file上传按钮的美化思路是,先把之前的按钮透明度opacity设置为0,然后,外层用div包裹,就实现了美化功能. 主要有两点需要做: 将input type=file控件透明 将inp ...

  2. linux hosts文件如何修改_3 种方法教你在 Linux 中修改打开文件数量限制

    当文件被打开访问时,操作系统临时分配一个名为文件句柄的数字.主内存的一个特殊区域是为文件句柄预留的,这个区域的大小决定了一次可以打开多少个文件. Linux上的进程受到许多限制,这些限制也阻碍它们正确 ...

  3. linux 文件指针,Linux中文件描述符fd与文件指针FILE*互相转换实例解析

    本文研究的主要是Linux中文件描述符fd与文件指针FILE*互相转换的相关内容,具体介绍如下. 1.文件描述符fd的定义:文件描述符在形式上是一个非负整数.实际上,它是一个索引值,指向内核为每一个进 ...

  4. linux OS与SQL修改时区,系统时间

    linux修改系统时间和linux查看时区.修改时区的方法 一.查看和修改Linux的时区 1. 查看当前时区 命令 : "date -R" 2. 修改设置Linux服务器时区 方 ...

  5. Linux修改fstab引起系统无法启动问题的解决方法

    文章列表 crontab执行脚本出错 博客分类: Linux 最近经常碰到关于crontab不能执行的,初步总结了有以下几个原因:第一,脚本的原因:大多数情况下,是我们的脚本的问题,这种问题导致cro ...

  6. linux dhcp 4.3编译,关于在嵌入式Linux下编译dhcp报错“cannot check for file existence when cross compiling”的初步研究...

    前言.写这篇文章的由来 最近在学习韦东山嵌入式培训视频(3期项目实战之USB摄像头监控)时,在对dhcp源代码configure时,报错:cannot check for file existence ...

  7. 关于在嵌入式Linux下编译dhcp报错“cannot check for file existence when cross compiling”的初步研究...

    前言.写这篇文章的由来 最近在学习韦东山嵌入式培训视频(3期项目实战之USB摄像头监控)时,在对dhcp源代码configure时,报错:cannot check for file existence ...

  8. Linux虚拟机克隆一键修改IP脚本 伸手党速速来取

    Linux虚拟机克隆一键修改IP脚本 hostnamectl --static set-hostname hadoop$1 //修改hostname的名称,$1为传参值file=/etc/syscon ...

  9. linux配置文件重新加载失败,linux下为什么每次修改完配置文件之后都需要重新加载配置文件...

    解释了 linux下为什么每次修改完配置文件之后都需要重新加载配置文件 目录一.关于inode 二.inode的作用 二.为什么每次修改完服务器配置文件之后,都需要重新加载一下配置文件? 一.关于in ...

最新文章

  1. thinkphp pathinfo nginx 无法加载模块:Index
  2. PCB 使用Nginx让IIS7实现负载均衡
  3. 《Java高级程序设计》期末作业【2】-进度安排
  4. python 变量类型list_Python基础变量类型——List浅析-阿里云开发者社区
  5. tfs2015 生成与发布 配置
  6. Scala基础入门(二) Scala下载、安装教程
  7. sosoapi初次接触
  8. “出色”IT项目经理的5大关键能力
  9. canvas旋转跟随鼠标线条 html+css+js
  10. Windows查找文件内容
  11. other|钱海物流接口上传运单号开发
  12. 网络爬虫/数据抓取,反爬虫(更新版)
  13. win7声音小图标不见了,如何修复
  14. 不可思议有氧机器人_不思议迷宫机器人生产线选什么好 机器人合成公式一览...
  15. grpc---客户端流式
  16. 动态规划法——常见题型及算法思路
  17. AD打印,只打印自己想要的层怎么设置
  18. php 查看文件信息,文件信息查看
  19. 分享通过tensorflow证书考试的经验
  20. Python类与对象最全总结大全(类、实例、属性方法、继承、派生、多态、内建函数)

热门文章

  1. noteexpress删除标签_教你使用NoteExpress管理文献~写论文!
  2. 最完整的Eclipse插件AmaterasUML的下载安装教程
  3. CarSim仿真快速入门(二十六)-Euro NCAP VRU AEB 测试
  4. 【Unity 工具,简单学习】DoTween,脚本控制动画工具
  5. Redash 案例——党建
  6. 转换成MP3格式怎么弄?几种常见的转换方法分享给你
  7. 全球及中国家用除湿机行业“十四五”规划与投资规模分析报告2022-2027年版
  8. hdfs 不通过回收站删除文件
  9. Volley NoConnectionError(IOException:unexpected end of stream on Connection)原因之一与解决方案
  10. C/C++编程:了解typename的双重意义