CENTOS/RHEL 7 系统中设置SYSTEMD SERVICE的ULIMIT资源限制
转自 http://smilejay.com/2016/06/centos-7-systemd-conf-limits/
在bash中,有个ulimit命令,提供了对shell及该shell启动的进程的可用资源控制。主要包括打开文件描述符数量、用户的最大进程数量、coredump文件的大小等。
在centos 5/6 等版本中,资源限制的配置可以在 /etc/security/limits.conf 设置,针对root/user等各个用户或者*代表所有用户来设置。 当然,/etc/security/limits.d/ 中可以配置,系统是先加载limits.conf然后按照英文字母顺序加载limits.d目录下的配置文件,后加载配置覆盖之前的配置。 一个配置示例如下:
1
2
3
4
5
6
|
* soft nofile 100000
* hard nofile 100000
* soft nproc 100000
* hard nproc 100000
* soft core 100000
* hard core 100000
|
不过,在CentOS 7 / RHEL 7的系统中,使用Systemd替代了之前的SysV,因此 /etc/security/limits.conf 文件的配置作用域缩小了一些。limits.conf这里的配置,只适用于通过PAM认证登录用户的资源限制,它对systemd的service的资源限制不生效。登录用户的限制,与上面讲的一样,通过 /etc/security/limits.conf 和 limits.d 来配置即可。
对于systemd service的资源限制,如何配置呢?
全局的配置,放在文件 /etc/systemd/system.conf 和 /etc/systemd/user.conf。 同时,也会加载两个对应的目录中的所有.conf文件 /etc/systemd/system.conf.d/*.conf 和 /etc/systemd/user.conf.d/*.conf
其中,system.conf 是系统实例使用的,user.conf用户实例使用的。一般的sevice,使用system.conf中的配置即可。systemd.conf.d/*.conf中配置会覆盖system.conf。
1
2
3
|
DefaultLimitCORE=infinity
DefaultLimitNOFILE=100000
DefaultLimitNPROC=100000
|
注意:修改了system.conf后,需要重启系统才会生效。
针对单个Service,也可以设置,以nginx为例。
编辑 /usr/lib/systemd/system/nginx.service 文件,或者 /usr/lib/systemd/system/nginx.service.d/my-limit.conf 文件,做如下配置:
1
2
3
4
|
[Service]
LimitCORE=infinity
LimitNOFILE=100000
LimitNPROC=100000
|
然后运行如下命令,才能生效。
1
2
|
sudo systemctl daemon-reload
sudo systemctl restart nginx.service
|
查看一个进程的limit设置:cat /proc/YOUR-PID/limits
例如我的一个nginx service的配置效果:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$cat /proc/$(cat /var/run/nginx.pid)/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size unlimited unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 100000 100000 processes
Max open files 100000 100000 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 1030606 1030606 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
|
顺便提一下,我还被CentOS7自带的/etc/security/limits.d/20-nproc.conf文件坑过,里面默认设置了非root用户的最大进程数为4096,难怪我上次在limits.conf中设置了没啥效果,原来被limit.d目录中的配置覆盖了。
参考文档:
man systemd
man systemd-system.conf
man bash 搜索一下ulimit
CENTOS/RHEL 7 系统中设置SYSTEMD SERVICE的ULIMIT资源限制相关推荐
- linux 7 services设定,CENTOS/RHEL7系统中设置SYSTEMD SERVICE的ULIMIT资源限制
8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 在bash中,有个ulimit命令,提供了对shell及该shell启动的进程的可用资源控制.主要包括打开文档描述符数量 ...
- anydesk linux安装_在CentOS 8/RHEL 8系统中安装AnyDesk的方法
本文介绍如何在CentOS 8/RHEL 8 Linux Desktop操作系统中安装AnyDesk,所安装的版本是Anydesk 5.1.2.我们将使用预打包的RPM软件包从AnyDesk Yum存 ...
- 如何在统信UOS系统中设置tomcat开机启动
如何在统信UOS系统中设置tomcat开机启动 欢迎使用Markdown编辑器 1.创建服务 2. 创建软链接 3. 刷新配置 4. 启动.重启.停止 5. 开机自启动 6. 查看状态 欢迎使用Mar ...
- 如何在linux系统中设置定时任务?
1. 引入 1.1 在日常开发中,我们经常需要设置一些定时任务. 举个栗子:在进行Java Web开发时,通常我们采用Springboot 框架,我们可以通过 注解+ cron表达式,设置定时任务. ...
- SuperMap iServer在不同系统中设置开机自启动--Windows篇
目录 前言 1.删除已有的 SuperMap iServer 系统服务 2.注册 SuperMap iServer 系统服务 3.设置 SuperMap iServer 系统服务开机自启动 实例 作者 ...
- Ice-3.5.1在CentOS 6.5系统中的编译配置教程
Ice-3.5.1在CentOS 6.5系统中的编译配置教程 1 操作系统 CentOS release 6.5 (Final) x86_64 系统. 2 源码包下载 Ice-3.5.1.zip 下 ...
- 电脑小米路由器设置虚拟服务器,小米路由器在Win7系统中设置网络映射教程
小米路由器怎么在Win7系统中设置网络映射?小米路由器,自带有一个文件存储芯片,用于存储用户使用小米路由器下载的各类文件(包括电影.音乐等文件),如果需要在计算机中看到小米路由器的文件夹,则需要将小米 ...
- 联想电脑计算机怎么设置十进制,如何在win10系统中设置电池充电阈值
在使用win10系统的过程中,我们经常需要为win10系统设置电池充电阈值设置方法. 我一定遇到了需要为win10系统设置电池充电阈值的情况,那么应该如何设置win10?该系统设置电池充电阈值的操作方 ...
- Mac上鼠标滚轮方向是和Win相反的,系统中设置后触摸板的方向又跟着变了
Mac上鼠标滚轮方向是和Win相反的,系统中设置后触摸板的方向又跟着变了 想让MacBook触摸板和非原生的鼠标滚轮方向一致可以使用第三方应用Scroll Reverser 来解决. Scroll R ...
最新文章
- java 视频 缩略图_Java截取视频文件缩略图
- 不要为框架作过多的假设
- 技术点不亲身实验一遍,难免会被网文唬
- 用python的五种方式_Python加载数据的5种不同方式(收藏)
- 苹果电脑基本设置+Linux 命令+Android 实战集锦
- 简单教你React父子组件间平级组件间传值
- 基本系统设备感叹号_win7系统网络图标显示感叹号的问题
- 用Way.EntityDB进行Entity Framework Core数据库建模
- linux stress 工具,Linux压力测试工具stress的参数详解
- 3v stm32 供电 晶振起振_晶振起振_单片机晶振不起振原因及解决方法
- 关闭windows端口的批处理命令
- 【NeoVim Coc.nvim】禁用从文档内提取字段的补全选项(禁用带有“yank”的补全选项)
- 北京航空航天大学计算机学院保研率,北京航空航天大学计算机学院(专业学位)计算机技术保研夏令营...
- 世界互联网大会上有哪些黑客科技值得关注?
- cuda的tip: nvcc的-arch,-code选项
- android系统文件误删,误删手机系统文件怎么恢复
- php中::双冒号作用
- 告别windows、拥抱linux,ThinkPad E485安装XUbuntu实录
- 汉字验证码、英文数字验证码字符集
- Object detection from video tubelets with CNN翻译
热门文章
- MySQL设计一个图书馆数据库_请设计一个图书馆数据库
- php调用selenium,从php调用python selenium
- linux 快捷matlab_Linux命令 笔记(一)
- docker redis集群搭建_Redis集群模式搭建
- Java迭代器(转)(iterator详解以及和for循环的区别)
- js端调用android端同步方法,JS怎样调用Android本地原生方法
- 期末考试中微积分的证明题的分析:Taylor级数展开
- 基于ATMEGA8的Arduino Nano(UNO)开发板
- 第十六届全国大学生智能车竞赛竞速组-室内视觉组补充说明
- 在国内安装Pytorchy以及遇到的问题