2019独角兽企业重金招聘Python工程师标准>>>

在Linux下面部署应用的时候,有时候会遇上Socket/File: Can’t open so many files的问题;这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且Linux默认不是很高,一般都是1024,生产服务器用其实很容易就达到这个数量。下面说的是,如何通过正解配置来改正这个系统默认值。因为这个问题是我配置Nginx+php5时遇到了,所以我将这篇归纳进nginx+apache篇。

查看方法

我们可以用ulimit -a来查看所有限制值 [root@centos5 ~]# ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited max nice (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 4096 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 max rt priority (-r) 0 stack size (kbytes, -s) 10240 cpu time (seconds, -t) unlimited max user processes (-u) 4096 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited||<

其中 "open files (-n) 1024 "是Linux操作系统对一个进程打开的文件句柄数量的限制(也包含打开的SOCKET数量,可影响MySQL的并发连接数目)。这个值可用ulimit命令来修改,但ulimit命令修改的数值只对当前登录用户的目前使用环境有效,系统重启或者用户退出后就会失效(在布署Nginx+FastCGI我就遇到这个问题,将ulimit -SHn 65535放到/etc/rc.d/rc.local也没起什么作用)

系统总限制是在这里,/proc/sys/fs/file-max。可以通过cat查看目前的值,修改/etc/sysctl.conf 中也可以控制。

另外还有一个,/proc/sys/fs/file-nr,可以看到整个系统目前使用的文件句柄数量。

查找文件句柄问题的时候,还有一个很实用的程序lsof。可以很方便看到某个进程开了那些句柄,也可以看到某个文件/目录被什么进程占用了。

修改方法 若要令修改ulimits的数值永久生效,则必须修改配置文档,可以给ulimit修改命令放入/etc/profile里面,这个方法实在是不方便,还有一个方法是修改/etc/sysctl.conf。我修改了,测试过,但对用户的ulimits -a 是不会改变的,只是/proc/sys/fs/file-max的值变了。

我认为正确的做法,应该是修改/etc/security/limits.conf 里面有很详细的注释,比如

  • soft nofile 32768
  • hard nofile 65536 就可以将文件句柄限制统一改成软32768,硬65536。配置文件最前面的是指domain,设置为星号代表全局,另外你也可以针对不同的用户做出不同的限制。

注意:这个当中的硬限制是实际的限制,而软限制,是warnning限制,只会做出warning;其实ulimit命令本身就有分软硬设置,加-H就是硬,加-S就是软 默认显示的是软限制,如果运行ulimit命令修改的时候没有加上的话,就是两个参数一起改变。

生效 因为我平时工作最多的是部署web环境(Nginx+FastCGI外网生产环境和内网开发环境),重新登陆即可(reboot其实也行)我分别用root和www用户登陆,用ulimit -a分别查看确认,做这之前最好是重启下ssh服务,service sshd restart。

转载于:https://my.oschina.net/fastjrun/blog/707935

正确配置Linux系统ulimit值的方法相关推荐

  1. 正确配置Linux系统ulimit值的方法【转】

    转自:http://www.cnblogs.com/ibook360/archive/2012/05/11/2495405.html 在Linux下面部署应用的时候,有时候会遇上Socket/File ...

  2. [转]正确配置Linux系统ulimit值的方法

    在Linux下面部署应用的时候,有时候会遇上Socket/File: Can't open so many files的问题:这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且L ...

  3. 正确配置Linux系统ulimit/nproc值的方法

    在Linux下面部署应用的时候,有时候会遇上Socket/File: Can't open so many files的问题:这个值也会影响服务器的最大并发数,其实Linux是有文件句柄限制的,而且L ...

  4. 如何配置Linux系统的IP地址?

    如何配置Linux系统的IP地址,使其能够连接局域网甚至外网.其实这并不难,Linux系统网络配置的方法有多种. 下面,以VMware虚拟机中的Linux系统为例,进行讲解. 我的真实机是Window ...

  5. linux设置ulimit值永久生效

    linux设置ulimit值永久生效 小知识的积累,转自 http://hi.baidu.com/moonelf9989/blog/item/1deadf12780fa0c5c2fd789d.html ...

  6. kali linux查看版本,kali linux 系统版本的查看方法

    kali linux 系统版本的查看方法 1. kali linux 系统版本查看 命令:cat /etc/issue 2. kali linux系统内核信息查看 命令:uname -a 以上这篇ka ...

  7. linux检测到文件更新执行,一种更新Linux系统中文件的方法及操作方法专利_专利查询 - 天眼查...

    1. 一种更新Linux系统中文件的方法,其特征在于,包括在基于Linux系统的电视的主 程序中设计一个功能接口,该功能接口在电视系统检测到外部存储设备接入时被调用,所 述功能接口实现以下内容: A: ...

  8. Linux系统的各种安装方法与修复技巧

    Linux系统的各种安装方法与修复技巧 一.Linux的安装 1.光盘启动安装 没啥她说的,在BIOS中设置光驱启动系统,按提示一步一步安装就可心了. 2.U盘启动.硬盘安装 很多情况下,大家都是从网 ...

  9. aspnet管理员用户登录_WINDOWS/LINUX系统修改管理员密码方法

    首先要登录到服务器 1.Windows系统修改管理员密码方法: 命令方式修改:开始->运行或WIN+R键,输入CMD,打开命令行输入net user administrator(如有更改请输入更 ...

最新文章

  1. 二十八、动态分区分配算法
  2. SQL Server数据库查询速度慢的原因和解决方法
  3. 【原创】BI解决方案选型之ETL数据整合工具对比
  4. 一般计算机系统中的文件系统采用,南昌大学2001年考研专业课试卷操作系统A
  5. MySQL大表优化技术要点科普
  6. 数据结构——顺序栈和链式栈的简单实现和解析(C语言版)
  7. 基于SQL的日志分析工具myselect
  8. Spring和Amazon Web Services
  9. 一起来学SpringBoot | 第四篇:整合Thymeleaf模板
  10. 计算机课教案学法,计算机应用基础教学方法初探
  11. 在页面中加载Apache ECharts 5/百度地图
  12. 红帽linux免费下载链接,redhat linux 下载大全 完全整理
  13. 串口调试助手fx2n_安信可串口调试助手
  14. antd table组件 表格内换行
  15. 解决springboot的pom.xml文件第一行报错问题
  16. 膜拜!京东大牛彻底讲透Java多线程面试题,看完直怼阿里面试官,堪称吾辈楷模!
  17. Pandas和Numpy:常见函数参数inplace的作用
  18. 【shell 脚本编程】一键搭建 LAMP,Web 应用程序平台,你值得拥有
  19. 【slowfast中ava数据集处理】ava数据集,将原视频裁剪为15分钟每段
  20. 联想LJ2400激光打印机开机4灯闪烁维修分析

热门文章

  1. 一文了解机器学习中的交叉熵
  2. SAP MM 物料主数据MRP2 视图Rounding Value字段
  3. SAP WM LQ02 事务代码界面里不能为指定仓库号选择移动类型的问题对策
  4. 《新一代城市大脑建设与发展》专家研讨会在京举办
  5. 四本关于意识问题的英文新书
  6. 震撼三观:从细胞到宇宙
  7. 影响国家安全的四项新兴技术
  8. 中国10大最震撼的无人工厂,你吃的用的都是这么来的!
  9. 高德纳咨询公司(Gartner)预测:2019年七大人工智能科技趋势
  10. CICC科普栏目|神经网络浅讲:从神经元到深度学习