Linux 打开句柄限制的调整

参考文章:

Linux---进程句柄限制总结(http://blog.csdn.net/jhcsdb/article/details/32338953)

!! 本文内容仅在 RHEL6.4 上测试通过.

Linux 句柄限制分为1系统级限制和2用户级限制:

/proc/sys/fs/nr_open > /proc/sys/fs/file-max >= ulimit -Hn >= ulimit -Sn

1 系统级限制

1.1 /proc/sys/fs/nr_open

系统文件系统支持文件句柄总数上限, 默认值1048576 (1M). 该值上限受限于系统内存. 这个是所有限制的最大值.

1.2 /proc/sys/fs/file-max

系统文件系统支持文件句柄总数最大值, 必须小于 nr_open. 查看命令(下面3个命令等效):

[root@vm-cdh4 ~]# sysctl -a | grep -i file-max --color
fs.file-max = 188436
[root@vm-cdh4 ~]# cat /proc/sys/fs/file-max
188436
[root@vm-cdh4 ~]# sysctl -e fs.file-max
fs.file-max = 188436

查看当前系统使用的打开文件描述符数命令:

[root@vm-cdh4 ~]# cat /proc/sys/fs/file-nr
832    0    188436

其中file-max = 188436

1.3 更改 file-max

临时改变, 重启后消失:

[root@vm-cdh4 ~]# sysctl -w fs.file-max=102400

永久性的更改, 在/etc/sysctl.conf中加入(适用于 2.2 和 2.4 版内核):

fs.file-max=102400
#### 仅对于2.2 版内核:
#### fs.inode-max=102400

/etc/sysctl.conf改变之后,运行下面的命令使改变立即生效:

[root@vm-cdh4 ~]# sysctl -p

2 用户级限制

2.1 硬上限 ulimit -Hn

单个进程句柄数硬上限. <= file-max. 查看命令:

[root@vm-cdh4 ~]# ulimit -Hn
4096

临时更改, 重启后消失:

[root@vm-cdh4 ~]# ulimit -Hn 8192
[root@vm-cdh4 ~]# ulimit -Hn
8192

2.2 软上限 ulimit -Sn

单个进程句柄数软上限, <= ulimit -Hn. 查看命令:

[root@vm-cdh4 ~]# ulimit -Sn
1024
[root@vm-cdh4 ~]# ulimit -n
1024

临时更改, 重启后消失:

[root@vm-cdh4 ~]# ulimit -Sn 8000
[root@vm-cdh4 ~]# ulimit -n
8000

2.3 修改单个进程句柄数上限

同时临时修改软硬上限(<=file-max)重启后消失:

[root@vm-cdh4 ~]# ulimit-SHn 10240

永久修改软硬上限(RHEL6.4), 在 /etc/security/limits.conf 里设置(* 表示对所有用户):

#......
#@student        -       maxlogins       4

*    hard    nofile    10240
*    soft    nofile    10240

# End of file

Linux 打开句柄限制的调整的更多相关文章

  1. Linux 用户打开进程数的调整

    Linux 用户打开进程数的调整 参考文章: 关于RHEL6中ulimit的nproc限制(http://www.cnblogs.com/kumulinux/archive/2012/12/16/28 ...

  2. Linux系统句柄优化

    Linux系统句柄介绍 文件句柄,会随着进程数增加而增加.其实Linux是有文件句柄限制的,而且Linux默认一般都是1024.在生产环境中很容易到达这个值,因此这里就会成为系统的瓶颈. 在Linux ...

  3. linux打开文件数量的查看方法

    linux打开文件数量的查看方法 linux打开文件数量的查看方法在网上查到两种查看linux打开文件数量的查看方法,但结果不相同,linux查看文件打开数量是以那个文件或命令为标准呢? 搜索过关于u ...

  4. linux打开80端口及80端口占用解决办法

    linux打开80端口天客户那边有台服务器同一个局域网中都无法访问,排除lamp环境问题,发现时服务器中的防火墙没有开启80端口. 代码如下 复制代码vi /etc/sysconfig/iptable ...

  5. 在Linux上进行内核参数调整

    在Solaris上,使用工具mdb就可以直接修改内核内存里的内容.而在Linux上,则通常使用命令sysctl(8)做类似的事情. 本文以Fedora为例,介绍如何在Linux上进行内核参数调整. 常 ...

  6. Linux打开防火墙telnet端口

    检查端口情况:netstat -an | grep 22 关闭端口号:iptables -A INPUT -p tcp --drop 端口号-j DROP                    ipt ...

  7. 网络编程中TCP基础巩固以及Linux打开的文件过多文件句柄的总结

    1.TCP连接(短链接和长连接) 什么是TCP连接?TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的.可靠的.基于字节流的传输层通信协议. 当网络通信 ...

  8. 查询修改linux 打开文件句柄数量

    查询系统支持最大可打开文件句柄数量: #vi /proc/sys/fs/file-max 查询当前连接用户最大可打开文件句柄数量: #ulimit -a 修改当前连接用户最大可打开文件句柄数量: #u ...

  9. linux修改句柄数

    linux服务器大并发调优时,往往需要预先调优linux参数,其中修改linux最大文件句柄数是最常修改的参数之一. 在linux中执行ulimit -a 即可查询linux相关的参数,如下所示: [ ...

随机推荐

  1. Java集合框架总结

    java集合框架主要分为实现了Collection接口的List和Set.映射接口Map. |-- List 有序,元素都有索引,可重复. |-- Set 无序,不可以存储重复的元素. |-- Map ...

  2. 教你如何在Android 6.0上创建系统悬浮窗

    郭霖大神的文章:http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650235949&idx=1&sn=0f7eded ...

  3. 给PLSQL插上飞翔的翅膀-PLSQL优化

    60-80% of database performance issues are related to poorly performing SQL,60-80%的数据库性能问题要归结于生产中糟糕的S ...

  4. 如何使用Live CD来修复Grub / Grub2

    Introduction 一般我会在计算机上装两个或者多个系统,例如,我在计算机上安装了Ubuntu.Windows 7.Windows 8.1.有一天我的Win8.1不能正常使用了,我想重新安装Wi ...

  5. logstash处理文件进度记录机制

    假如使用如下配置处理日志 input { file { path => "/home/vagrant/logstash/logstash-2.2.2/dbpool-logs/dev/c ...

  6. Spring之ORM模块

    ORM模块对Hibernate.JDO.TopLinkiBatis等ORM框架提供支持 ORM模块依赖于dom4j.jar.antlr.jar等包 在Spring里,Hibernate的资源要交给Sp ...

  7. python 如何优雅地退出子进程

    python 如何优雅地退出子进程 主进程产生子进程,子进程进入永久循环模式.当主进程要求子进程退出时,如何能安全地退出子进程呢? 参考一些代码,我写了这个例子.运行之后,用kill pid试试.pi ...

  8. BeanUtils Exception 之 FastHashMap

    这里仅仅是为了记录一件十分奇怪的事情,在使用BeanUtils的过程中,所有的依赖包都添加了, common logging common collections ··· 在为boolean 这种基本 ...

  9. Nginx的负载均衡 - 保持会话 (ip_hash)

    Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd 算法介绍 ip_hash算法的原理很简单,根据请求所属的客户端IP计算得到一个数值,然后把请求发往该数 ...

  10. Cocos2D在Xcode7和iOS 9.2上IMP调用出错

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 原来的代码一直在Xcode6.4上和iOS 8.4上运行,没有 ...