CentOS 7怎么修改资源使用上限

风丽酱_8493

风丽酱_8493

2026-07-30

802人浏览

原创

ulimit 临时生效,永久修改需同步配置 limits.conf、systemd service 文件及 sysctl 参数;否则重启后失效,因 ulimit 仅作用于当前 shell 会话,ssh 登录依赖 pam 的 limits.d 配置,systemd 服务需显式设置 limitnofile,且内核参数 fs.nr_open 必须不低于用户设定值。

centos 7怎么修改资源使用上限

ulimit 只能临时生效,要永久修改 CentOS 7 的资源使用上限,必须组合修改多个配置点,否则改了也白改。

为什么 ulimit 设置后重启就失效?

因为 ulimit 是 shell 级别的运行时限制,只对当前会话及其子进程有效。用户重新登录、服务重启、systemd 启动的服务,全部不继承这个值。

  • SSH 登录、console 登录走的是 PAM 认证流程,真正起作用的是 /etc/security/limits.conf 和 /etc/security/limits.d/*.conf
  • systemd 服务绕过 PAM,默认忽略 limits.conf,必须在 service 文件里显式声明 LimitNOFILE 等参数
  • root 用户受 /etc/security/limits.d/20-nproc.conf 单独约束,* 条目不覆盖它

/etc/security/limits.conf 怎么写才生效?

写错位置或格式,ulimit -n 就永远显示旧值。关键点有三个:

CentOS Linux 7.9.2009
CentOS Linux 7.9.2009

CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离

下载
  • 顺序重要:limits.d/ 下的文件按字母序加载,20-nproc.conf 会覆盖 limits.conf 里同名项(比如 nproc)
  • 用户匹配要精确:用 username 比 * 更可靠;组要用 @groupname 格式
  • 类型必须明确:soft 和 hard 要分开写,且 hard 不能低于 soft;例如:kass soft nofile 65536 和 kass hard nofile 65536
  • 生效需重新登录:改完后必须退出当前 session 再登录,或者用 su - kass 切换验证

systemd 服务的资源限制怎么配?

即使 limits.conf 改好了,systemctl start nginx 启动的服务仍可能卡在默认的 1024 个文件描述符——因为它压根不读那个文件。

  • 编辑对应 unit 文件,如 /etc/systemd/system/nginx.service
  • 在 [Service] 段下添加:LimitNOFILE=65536、LimitNPROC=65536
  • 注意:systemd 219+ 版本支持 LimitCORE、MemoryLimit 等,但 CentOS 7 自带 systemd 219,MemoryLimit 不可用
  • 改完必须执行:systemctl daemon-reload && systemctl restart nginx

系统级最大值 fs.file-max 和 fs.nr_open 必须同步调

如果只改用户限制,而内核允许的全局上限太低,ulimit -n 65536 会静默失败,实际还是旧值。

  • 查当前值:cat /proc/sys/fs/file-max 和 cat /proc/sys/fs/nr_open
  • nr_open 必须 ≥ 你设的单用户 nofile 值,否则 limits.conf 中的高值会被截断
  • 在 /etc/sysctl.conf 里加两行:fs.file-max = 6553600 和 fs.nr_open = 2000000
  • 执行 sysctl -p 生效,无需重启

改完别急着验证,先确认你是用什么方式启动目标进程的:交互式 shell?systemd 服务?还是 docker 容器?不同路径依赖的配置文件完全不同。漏掉任意一环,上限就卡死在 1024。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

centos

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
centos
centos

PHP中文网为大家提供centos相关信息,CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,是免费的、开源的、可以重新分发的开源操作系统,PHP中文网提供centos相关文章,以及安装教程。

2023.06.16

3389

10

常见的linux系统有哪些
常见的linux系统有哪些

linux系统有Ubuntu、Fedora、CentOS、Debian、openSUSE、Arch Linux、Gentoo、Slackware、Linux Mint、Kali Linux。更多关于linux系统的文章详情请阅读本专题下面的文章。php中文网欢迎大家前来学习。

2023.10.27

6541

23

CentOS安装部署教程精选
CentOS安装部署教程精选

CentOS安装部署专题提供 CentOS Stream 9/10 服务器安装与初始化配置教程,涵盖 ISO 镜像下载、系统分区、最小化安装、网络配置、SSH远程连接、防火墙、软件源、时区同步、用户权限和常见安装故障排查,适合新手搭建 Linux 服务器环境及运维人员快速部署 CentOS 系统。

2026.05.29

194

10

CentOS运维命令大全
CentOS运维命令大全

CentOS运维命令专题整理 CentOS 服务器日常管理常用命令,覆盖系统信息查看、用户与权限管理、服务启动停止、进程监控、端口查看、日志分析、磁盘空间清理、软件包安装、定时任务配置和故障排查方法,帮助运维人员高效完成 CentOS 系统维护工作。

2026.05.29

188

10

CentOS建站环境搭建实战教程
CentOS建站环境搭建实战教程

CentOS建站环境专题围绕服务器网站部署场景,系统讲解在 CentOS 上安装和配置 Nginx、Apache、PHP、MySQL、MariaDB、PHP-FPM、SSL证书、网站目录权限、虚拟主机、反向代理和 WordPress 等常见建站环境,适合个人站长和运维人员搭建稳定 Web 服务。

2026.05.29

223

10

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

2026.10.16

60

10

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

2026.10.16

40

10

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

2026.10.16

40

10

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

2026.10.16

20

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
CentOS 官方文档
CentOS 官方文档

共0课时 | 0人学习

ubuntu官方总文档
ubuntu官方总文档

共0课时 | 0人学习