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. nginx 日志分析工具goaccess

    参考:https://www.goaccess.io/download 安装 $ wget http://tar.goaccess.io/goaccess-1.1.1.tar.gz $ tar -xz ...

  2. 高仿腾讯QQ最终版

    之前写过一篇关于高仿腾讯QQ的博客,不知道的看这:http://blog.csdn.net/htq__/article/details/51840273 ,主要是从界面上高仿了腾讯QQ,在UI上基本上 ...

  3. Android简易实战教程--第三十八话《自定义通知NotifiCation》

    上一篇小案例,完成了一个普通的通知,点击通知启动了一个活动.但是那里的通知没有加入些"靓点",这一篇就给它加入自定义的布局,完成自定义的通知. 应用:比如QQ音乐为例,当点击音乐播 ...

  4. 代理IP爬取,计算,发放自动化系统

    IoC Python端 MySQL端 PHP端 怎么使用 这学期有一门课叫<物联网与云计算>,于是我就做了一个大作业,实现的是对代理IP的爬取,计算推荐,发放给用户等任务的的自动化系统.由 ...

  5. 28 自定义View画坐标和柱状图

    自定义View类 RectView.java package com.qf.sxy.day29_customview.widget; import android.content.Context; i ...

  6. 02_3中方式的反射,通过Class.forName获得Class对象,通过类.class获得字节码对象,通过类实例.getClass()的方式获得Class对象

     反射中加载类: Java中有一个Class类用于代表某一个类的字节码 .class文件    对应Class //1 加载类 // java中Class代表一个类,但是到底代表哪个类要明确指出 ...

  7. 根据iOS 10 的新特性,创建iMessage App,可用于自定义表情

    第一. 介绍(原文作者 澳大利亚19岁少年--Davis Allie ----原文地址) 随着iOS10的发布,苹果对开发者开放了Messages应用程序,开发人员现在可以创建他们自己的各种类型 并且 ...

  8. iOS中 为 iOS 建立 Travis CI 韩俊强的博客

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博! 你是否曾经试着为 iOS 项目搭建一台支持持续集成的服务器,从我的个人经验而言,这可不是一个轻松的活.首先需要准备 ...

  9. Android开发学习之路--Activity之初体验

    环境也搭建好了,android系统也基本了解了,那么接下来就可以开始学习android开发了,相信这么学下去肯定可以把android开发学习好的,再加上时而再温故下linux下的知识,看看androi ...

  10. MANIFEST.MF Error: No available bundle exports package

    Issue: When you imported some 3rd jars and compiled MANIFEST.MF, you may got following compling erro ...