首页主机资讯centos进程配置文件在哪修改

centos进程配置文件在哪修改

时间2025-11-28 14:32:04发布访客分类主机资讯浏览1105
导读:CentOS 修改进程相关配置文件的位置与方法 一、服务单元文件的位置与优先级 主要目录与用途: /usr/lib/systemd/system(或同义的 /lib/systemd/system):软件包安装的服务单元默认位置。 /ru...

CentOS 修改进程相关配置文件的位置与方法

一、服务单元文件的位置与优先级

  • 主要目录与用途:
    • /usr/lib/systemd/system(或同义的 /lib/systemd/system):软件包安装的服务单元默认位置。
    • /run/systemd/system:运行时动态生成的单元,通常不需手工修改。
    • /etc/systemd/system:管理员自定义或覆盖单元的首选位置,优先级最高,不会被包升级覆盖。
  • 覆盖与生效规则:
    • 同一单元在多个目录存在时,按优先级从高到低合并,/etc/systemd/system 覆盖 /usr/lib/systemd/system
    • 推荐做法:不要直接改包内文件,优先在 /etc/systemd/system 放置自定义单元,或使用“drop-in”目录进行局部覆盖。

二、修改某个服务进程的配置

  • 方式一(推荐):使用 systemctl 的 drop-in 覆盖
    • 命令:sudo systemctl edit < 服务名> ,例如 sudo systemctl edit nginx.service
    • 会在 /etc/systemd/system/< 服务名> .d/override.conf 自动创建片段,保存后自动执行 daemon-reload,只需重启服务即可生效。
    • 示例(调整进程相关限制):
      [Service]
      LimitNOFILE=65535
      LimitNPROC=65535
      
  • 方式二:复制并重写整个单元文件
    • 复制:sudo cp /usr/lib/systemd/system/< 服务名> .service /etc/systemd/system/< 服务名> .service
    • 编辑后执行:sudo systemctl daemon-reload & & sudo systemctl restart < 服务名>
  • 验证与回滚
    • 查看生效配置:systemctl cat < 服务名>
    • 查看进程实际 limits:cat /proc/< PID> /limits
    • 回滚(仅对 drop-in 有效):sudo systemctl revert < 服务名>

三、调整系统级进程与文件句柄限制

  • 全局默认限制(影响所有服务与登录会话)
    • 编辑:/etc/systemd/system.conf 与可选的 /etc/systemd/system.conf.d/*.conf
    • 常用键:
      • DefaultLimitNOFILE=65535
      • DefaultLimitNPROC=65535
      • DefaultLimitCORE=infinity
    • 修改后需重启系统或重启 systemd 才能对所有新会话生效。
  • PAM 登录级限制(影响通过登录启动的进程)
    • 编辑:/etc/security/limits.conf/etc/security/limits.d/*.conf
    • 示例:
      * soft nofile 65535
      * hard nofile 65535
      * soft nproc  65535
      * hard nproc  65535
      
    • 注意:某些系统(如 CentOS 7)在 /etc/security/limits.d/20-nproc.conf 中对非 root 用户设置了较低的 nproc 默认值,可能覆盖 limits.conf;需同时检查并调整。
  • 生效验证
    • 当前会话:ulimit -n(文件句柄)、ulimit -u(进程数)
    • 某进程:cat /proc/< PID> /limits

四、快速排查与常用命令

  • 查看服务单元文件与生效片段:systemctl cat < 服务名>
  • 重新加载配置并重启服务:sudo systemctl daemon-reload & & sudo systemctl restart < 服务名>
  • 查看服务状态与日志:systemctl status < 服务名> journalctl -u < 服务名> -xe
  • 查看进程资源限制:cat /proc/< PID> /limits
  • 列出所有单元与启用状态:systemctl list-unitssystemctl list-unit-files

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: centos进程配置文件在哪修改
本文地址: https://pptw.com/jishu/759037.html
CentOS中getconf命令返回值解析 centos进程资源限制如何调整

游客 回复需填写必要信息