CentOS 7怎么修改具体的系统资源使用上限

月夜之吻

月夜之吻

2026-07-15

475人浏览

原创

ulimit临时设置仅对当前shell有效,退出即失效;永久生效需分三层配置:用户级(/etc/security/limits.conf+pam)、systemd服务级(/etc/systemd/system.conf或.service.d/)、系统级(sysctl.conf中fs.file-max)。

centos 7怎么修改具体的系统资源使用上限

ulimit 临时改完就失效?必须分清 soft/hard 和生效范围

直接运行 ulimit -n 65535 只对当前 shell 及其子进程有效,退出或新开终端就回退。关键不是“能不能设”,而是“设给谁、在哪生效”。CentOS 7 的限制分三层:shell 进程级、登录用户级、systemd 服务级,混用会导致看似设了却没效果。

  • ulimit -S 设 soft limit(可临时超限但会警告),ulimit -H 设 hard limit(硬性上限,普通用户无法突破)
  • 非 root 用户只能调低 hard limit 或在 soft ≤ hard 范围内调整;root 才能抬高 hard limit
  • 仅靠 ulimit 命令无法让新登录用户或 systemd 服务继承设置

/etc/security/limits.conf 改了为啥不生效?PAM 加载顺序和用户类型是关键

该文件只对通过 PAM 登录的交互式用户(比如 SSH 登录、console 登录)生效,且依赖 pam_limits.so 模块加载。CentOS 7 默认启用它,但有两个常见陷阱:

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日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。

下载
  • 如果用户属于 wheel 组且配置了 auth required pam_wheel.so deny group=wheel,limits 可能被跳过
  • /etc/security/limits.d/*.conf 按字母序加载,20-nproc.conf 会覆盖 limits.conf 中的 nproc 设置(尤其影响最大线程数)
  • 不要用 * 笼统匹配所有用户——若需针对特定服务用户(如 nginx),明确写成 nginx 行,否则可能被其他规则覆盖

systemd 服务的 ulimit 必须单独配,limits.conf 对它完全无效

CentOS 7 用 systemd 管理服务后,/etc/security/limits.confsystemctl start xxx 启动的服务不起作用。必须走 systemd 自己的机制:

  • 全局生效:编辑 /etc/systemd/system.conf,修改 DefaultLimitNOFILE=65535 等项,改完要重启 host(不是 reload)
  • 单服务生效:在 /etc/systemd/system/<service>.service.d/limit.conf</service> 里加 [Service] 段,写 LimitNOFILE=65535,然后 systemctl daemon-reload && systemctl restart <service></service>
  • 验证是否生效:查 cat /proc/<pid>/limits | grep "Max open files"</pid>,别只信 ulimit -n 输出

系统级文件描述符上限 fs.file-max 也要同步调,否则 ulimit 再大也卡住

ulimit -n 是进程级上限,fs.file-max 是整个系统的总句柄池。如果后者太小,即使单个进程设到 65535,系统也会因全局耗尽而报 Too many open files

  • 临时调高:sysctl -w fs.file-max=1048576
  • 永久生效:往 /etc/sysctl.conffs.file-max = 1048576,再 sysctl -p
  • 注意:这个值不能无脑设太大,每文件描述符占约 1KB 内核内存,100 万 ≈ 1GB 内存开销
实际部署时,limits.confsystemd service 配置、sysctl.conf 这三处常被漏掉一两个,结果查半天发现只是某一层没打通。

相关文章

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

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

下载

相关标签:

centos fs.file-max

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

相关专题

更多
centos
centos

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

2023.06.16

3287

10

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

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

2023.10.27

2913

23

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

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

2026.05.29

110

10

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

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

2026.05.29

122

10

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

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

2026.05.29

120

10

Qt Creator编译运行使用教程
Qt Creator编译运行使用教程

围绕 Qt Creator 编译、运行、构建错误、断点调试、变量查看、调用栈、Debug与Release切换、编译输出和运行日志展开,帮助用户处理程序无法运行、断点不生效、找不到库文件、构建失败等问题。

2026.08.05

0

10

Qt Creator按钮响应设置方法
Qt Creator按钮响应设置方法

信号槽是 Qt 开发的核心机制。本专题整理 Qt Creator 中按钮点击、菜单触发、输入变化、窗口事件、自定义信号、自动连接槽函数和手动 connect 写法,帮助用户理解界面控件如何和 C++ 代码联动。

2026.08.05

0

10

Qt Creator新建项目使用教程
Qt Creator新建项目使用教程

本专题整理 Qt Creator 新建项目、打开已有工程、项目模板选择、目录结构、源文件管理、构建目录、运行配置和项目迁移方法,重点解决新手不知道选 qmake 还是 CMake、项目打不开、文件不参与编译等常见问题。

2026.08.05

0

10

maven常用插件使用大全
maven常用插件使用大全

PHP中文网精心整理Maven主流插件用法合集,涵盖编译、测试、打包等常用插件使用大全。从基础配置到进阶实战,详细解析各插件功能与适用场景,助你轻松掌握Maven自动化构建,解决Java项目开发痛点,是开发者必备的实用指南。

2026.08.05

0

31

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习