CentOS怎么修改具体的系统句柄限制

星降

星降

2026-07-20

283人浏览

原创

centos 7+ 中句柄限制需分三层配置:/etc/security/limits.conf(仅对pam登录用户生效)、/etc/systemd/system.conf 中 defaultlimitnofile(全局systemd服务默认值)、单个service文件中 limitnofile(服务专属覆盖),三者缺一不可,且systemd服务完全不读取limits.conf。

centos怎么修改具体的系统句柄限制

CentOS 的句柄限制必须分三层改,只动 /etc/security/limits.conf 是无效的 —— 尤其对 systemd 服务(比如 nginx、mysql、java 应用)完全不起作用。

为什么 ulimit -n 改了却没用?

因为 ulimit 只影响当前 shell 启动的子进程,且软硬限制需同时设;更重要的是:systemd 管理的服务根本**不读取 limits.conf**,它走的是自己的资源控制路径。

  • ulimit -n 65535 仅对当前终端 session 有效,新开终端或重启后丢失
  • ulimit -Sn 65535ulimit -Hn 65535 必须都执行,否则软限制可能仍卡在 1024
  • 即使 limits.conf 配好了,systemctl start myapp.service 启动的进程依然沿用 systemd 默认的 DefaultLimitNOFILE=1024

systemd 服务的句柄数怎么真正生效?

CentOS 7+ 使用 systemd,服务的资源限制由 systemd 全局配置或单个 service 文件控制,/etc/security/limits.conf 对它完全透明。

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

下载
  • 修改全局默认值:sudo vi /etc/systemd/system.conf,取消注释并设为:
    DefaultLimitNOFILE=655350
    DefaultLimitNPROC=65535
  • 改完必须执行:sudo systemctl daemon-reload(注意:不需要 reboot,但已有服务需 restart 才生效)
  • 若只想改某个服务(如 nginx.service),直接编辑:sudo systemctl edit nginx.service,写入:
    [Service]
    LimitNOFILE=655350
  • 验证是否加载成功:systemctl show nginx.service | grep LimitNOFILE

/etc/security/limits.conf 还要不要配?

要,但只对**非 systemd 启动的交互式登录用户**(比如 ssh 登录后手动运行 java、python 脚本)起作用。漏配会导致运维排查时误判。

  • 确保 /etc/pam.d/sshd/etc/pam.d/login 包含这一行:session required pam_limits.so
  • /etc/security/limits.conf 中添加(注意顺序和空格):
    * soft nofile 65535
    * hard nofile 65535
    * soft nproc 65535
    * hard nproc 65535
  • 普通用户修改后需**重新 ssh 登录**(不是 su -),否则 ulimit -n 仍显示旧值
  • 若用 sudo -i 切换 root,实际继承的是原用户 limits,不是 root 的配置

系统级最大文件数(fs.file-max)怎么设才合理?

这是内核允许打开的**总文件描述符上限**,必须 ≥ 单进程最大值 × 预估并发进程数,否则再调高单进程也没用。

  • 临时生效:echo 6553560 | sudo tee /proc/sys/fs/file-max
  • 永久生效:在 /etc/sysctl.conf 中加一行:fs.file-max = 6553560,然后运行 sudo sysctl -p
  • 检查当前使用量:cat /proc/sys/fs/file-nr 输出三列,第三列是 file-max,第一列是已分配的 fd 数
  • 别盲目堆大数值 —— 每个 fd 占约 1KB 内核内存,设到 1000 万可能吃掉 10GB RAM

最容易被忽略的一点:改完所有配置后,systemd 服务必须 restart(不是 reload),且得确认该服务没在 [Service] 段里硬编码了 LimitNOFILE 覆盖全局设置。

相关文章

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

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

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系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 开发的核心机制。本专题整理 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

PyCharm快速入门指南
PyCharm快速入门指南

本专题汇总了PyCharm快速入门的全套指南与教程,涵盖从官网下载安装、创建第一个Python项目、配置虚拟环境,到代码编辑、运行调试等基础操作,并整理了版本控制(Git)集成、常用高效快捷键及实用插件等进阶技巧,助你快速上手这款高效的Python IDE。

2026.08.05

2

17

热门下载

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

精品课程

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

共0课时 | 0人学习