修改 进程占用资源限制ulimit(限制服务器的链接数目)
ulimit用于限制shell启动进程所占用的资源。其中ulimit -n用于限制进程能够打开的文件描述符的最大数目。因为任何设备在linux下都是文件,通信的接口也有专门的接口文件负责,所以linux下进程tcp链接的最大并发量也受限于该值。
l 修改方案
步骤一:通过命令修改进程能够打开的文件数目
ulimit -n <file_num> 此命令将进程能够打开的文件描述符的最大数目修改为file_num。
如:ulimit -n 102400
注:ulimit -n 命令可查看进程能够打开的文件描述符的最大数目。
如果步骤一执行失败,系统回显类似于“Operation notpermitted”之类的话,说明上述限制修改失败。是因为在<file_num>中指定的数值超过了Linux系统对该用户打开文件数的软限制或硬限制。因此,就需要修改Linux系统对用户的关于打开文件数的软限制和硬限制。此时需执行以下步骤。
步骤二:修改/etc/security/limits.conf文件,在文件中添加如下行:
user00 soft nofile 10240 修改系统对用户user00 的软限制(软限制是指限制用户同时打开的文件数目)
user00 hard nofile 10240 修改系统对用户user00 的软限制(硬限制是指系统根据硬件资源(主要指内存)计算出来的最多可打开的文件数目)
可用'*'号表示修改所有用户的限制;
通常软限制低于硬限制;
建议不要将软限制和硬限制修改过大。
步骤三:修改/etc/pam.d/login文件,在文件中添加如下行:
session required /lib/security/pam_limits.so
这是告诉Linux在用户完成系统登录后,应该调用pam_limits.so模块来设置系统对该用户可使用的各种资源数量的最大限制(包括用户可打开的最大文件数限制),pam_limits.so模块就会从/etc/security/limits.conf文件中读取配置来设置这些限制值。
步骤四:查看Linux系统级的最大打开文件数限制,使用如下命令:

这表明这台Linux系统最多允许同时打开(即包含所有用户打开文件数总和)800037个文件,是Linux系统级硬限制,所有用户级的打开文件数限制都不应超过这个数值。该值是Linux系统在启动时根据系统硬件资源状况计算出来的最佳的最大同时打开文件数限制,如果没有特殊需要,不应该修改此限制,除非想为用户级打开文件数限制设置超过此限制的值。修改此硬限制的方法是修改/etc/rc.local脚本,在脚本中添加如下行:
echo 8000037 > /proc/sys/fs/file-max
这是让Linux在启动完成后强行将系统级打开文件数硬限制设置为800037。
在此,可再执行步骤一,如仍不能打开期望的文件数目,执行步骤五。
步骤五:修改用户登录脚本中的ulimit -n命令
打开/etc/profile脚本文件,在文件中查找是否使用了ulimit-n限制了用户可同时打开的最大文件数量,如果找到,则删除这行命令,或者将其设置的值改为合适的值,然后保存文件,用户退出并重新登录系统即可。
通过上述步骤,就为支持高并发TCP连接处理的通讯处理程序解除关于打开文件数量方面的系统限制。
继续重新登陆,如出现登录的时候
ulimit: open files: cannot modify limit: Operation not permitted
还有的话,需要重启一下ssh
ps:如果你用的脚本或者其他的工具启动进程,请保证里面没有继承原来的设置
修改 进程占用资源限制ulimit(限制服务器的链接数目)的更多相关文章
- Linux常用获取进程占用资源情况手段
测试环境:Ubuntu14.04 1. 获取进程ID号 ps -aux | grep your_process_name 例如: xxx@xxx:~$ ps -e |grep Midlet|awk ...
- 修改进程占用内存SetProcessWorkingSetSize函数(多篇相关文章值得学习)
物理内存和虚拟内存 物理内存,在应用中,自然是顾名思义,物理上,真实的插在板子上的内存是多大就是多大了.看机器配置的时候,看的就是这个物理内存. 如果执行的程序很大或很多,就会导致物理内存消耗殆尽.为 ...
- linux下查找java进程占用CPU过高原因
1. 查找进程 top查看进程占用资源情况 明显看出java的两个进程22714,12406占用过高cpu. 2.查找线程 使用top -H -p <pid>查看线程占用情况 3. ...
- postgresql某进程占用cpu资源过高,降不下来
由于是开发阶段,所以并没有配置postgres的参数,都是使用安装时的默认配置,以前运行也不见得有什么不正常,可是前几天我的cpu资源占用突然升高.查看进程,发现有一个postgres的进程占用CPU ...
- 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记》[转]
转载地址:http://bbs.chinaunix.net/archiver/tid-1823500.html 解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 ...
- sql server 2000数据库 最近经常出现某进程一直占用资源,阻塞?死锁?
OA的数据库最近多次出现某进程一直占用资源,导致其他进程无法执行.使用sp_who2 和 sql server profiler跟踪查询,发现有以下几个语句常常占用资源: 1.declare @P1 ...
- Apache服务器httpd.exe进程占用cpu超过50%的解决方法
httpd.exe进程占用cpu超过50%,关闭掉Apache服务,cpu应用率立刻下降到0. 重新启动Apache又出现占用cpu高的情况. 原因是:httpd.exe和防火墙配置有冲突. 解决 ...
- [linux]top命令详解-实时显示系统中各个进程的资源占用状况
简介 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按 ...
- APACHE服务器httpd.exe进程占用cpu100%的解决方法
httpd.exe进程占用cpu%100,关闭掉AppServ服务,cpu应用率立刻下降到0. 重新启动AppServ又出现占用cpu高的情况. 原因,httpd.exe和防火墙配置有冲突. 解决方法 ...
随机推荐
- Ubuntu 16.04安装Intel显卡驱动(解决Intel HD Graphics 630显卡驱动问题)
一般Ubuntu都默认包含了Intel显卡的驱动,如果没有,那么先确定是不是显卡太高,比如I7第7代的CPU核显在Ubuntu 16.04中是没有的,导致画面会很卡,原因是Linux 4.4内核不包含 ...
- Linux MariaDB 遗忘密码后重置密码
Linux MariaDB 遗忘密码后重置密码 MariaDB 是 MySQL 的一个分支数据库.处理的办法和 MySQL 相同. 修改 MySQL 配置文件 在 [mysqld] 追加配置项: [r ...
- 手动加入SSH支持、使用c3p0
之前做的笔记,如今整理一下.大家有耐心的跟着做就能成功: SSH(struts2.spring.hibernate) * struts2 * 充当mvc的角色 * hibernate ...
- hdu 4869 Turn the pokers 策略(组合数)
题意:输入操作次数n和扑克牌数m,一開始扑克牌全都背面朝上. 如今输入n个数xi,表示选择xi张牌翻转,问最后的牌的情况有多少种可能? 题解: 我们将一開始的牌觉得是m个0.而翻转就是将0变成1或者1 ...
- 1.jdk安装和环境配置
这个简单,但是记不住,非要网上搜一遍不可: 1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Progr ...
- Python获取CPU、内存使用率以及网络使用状态代码
Python获取CPU.内存使用率以及网络使用状态代码_python_脚本之家 http://www.jb51.net/article/134714.htm
- ZOJ 1414:Number Steps
Number Steps Time Limit: 2 Seconds Memory Limit: 65536 KB Starting from point (0,0) on a plane, ...
- SYSUCPC2017 DAG最多能添加多少边?
校赛的一道题目 难度不大 不过还是挺有趣的 题意:给定一个有向图,问此图是不是一个DAG且不包含重边 如果是的话 回答最多可以添加多少条边且图仍然是个DAG 考虑对于任意一个点u 添加一条边(u,v) ...
- 移动前端第一弹:viewport详解
前言 这次想聊聊移动开发相关的事.是的,你没有看错,一句话就可以开始你的移动前端开发. 你心里一定在想,什么话这么酷,能够瞬间带入到移动前端开发的世界. 但其实它一点也不新奇,不复杂. viewpor ...
- 【转载】DNS原理及其解析过程
1.在浏览器中输入www.qq.com域名,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析. 2.如果hosts里没有这个域名的映射,则 ...