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. android Spinner控件详解

    Spinner提供了从一个数据集合中快速选择一项值的办法.默认情况下Spinner显示的是当前选择的值,点击Spinner会弹出一个包含所有可选值的dropdown菜单,从该菜单中可以为Spinner ...

  2. 剑指Offer——知识点储备-设计模式

    剑指Offer--知识点储备-设计模式 设计模式 设计模式的六大原则 (1)单一职责原则(有且仅有一个原因引起类的变化): (2)里氏替换(任何父类出现的地方子类都可以替换): (3)依赖倒置(依赖抽 ...

  3. N个鸡蛋放到M个篮子中

    N个鸡蛋放到M个篮子中,篮子不能为空,要满足:对任意不大于N的数量,能用若干个篮子中鸡蛋的和表示. 写出函数,对输入整数N和M,输出所有可能的鸡蛋的放法. 比如对于9个鸡蛋5个篮子 解至少有三组: 1 ...

  4. Android中Snackbar的介绍以及使用

    Android中Snackbar的介绍以及使用 介绍 Snackbar可以说是Toast的升级版,不仅有显示信息的功能,还可以添加一个Action,实现点击功能,可以右滑删除. 效果图 Snackba ...

  5. Android简易实战教程--第三十四话《 自定义SeekBar以及里面的一些小知识》

    转载本专栏文章,请注明出处尊重原创:博客地址http://blog.csdn.net/qq_32059827/article/details/52849676:小杨的博客 许多应用可能需要加入进度,例 ...

  6. ERROR: In <declare-styleable> MenuView, unable to find attribute android:preserveIconSpacing

    eclipse  sdk从低版本切换到高版本sdk的时候   v7包会包这个错ERROR: In <declare-styleable> MenuView, unable to find ...

  7. mysql进阶(二十八)MySQL GRANT REVOKE用法

    mysql进阶(二十八)MySQL GRANT REVOKE用法   MySQL的权限系统围绕着两个概念: 认证->确定用户是否允许连接数据库服务器: 授权->确定用户是否拥有足够的权限执 ...

  8. java原码、补码、反码总结

    1.1. java虚拟机整数 在java虚拟机中整数有byte.short.int.long四种 分别表示 8位.16位.32位.64位有符号整数.整数使用补码表示. 所以我们先了解一下原码和反码. ...

  9. Xcode中不用Storyboard,用纯xib创建TabBar模式视图

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 如果要开发Tab类型视图的App,在Xcode中可以使用对应的 ...

  10. C++ 对象的内存布局(上)

    本文转载自haoel博主的博客:陈皓专栏 [空谷幽兰,心如皓月] 原文地址:C++ 对象的内存布局(上) C++ 对象的内存布局(上) 陈皓 http://blog.csdn.net/haoel 点击 ...