温馨提示×

如何在Ubuntu中优化ulimit配置

小樊
44
2025-08-26 13:29:56
栏目: 智能运维

优化Ubuntu的ulimit配置可通过以下步骤实现,需根据实际需求调整参数值:

一、查看当前配置

使用命令查看当前资源限制:

ulimit -a 

二、永久调整配置

1. 修改用户/组资源限制

编辑 /etc/security/limits.conf,添加或修改以下内容(*代表所有用户,可替换为特定用户名):

* soft nofile 65536 # 打开文件数软限制  * hard nofile 65536 # 打开文件数硬限制  * soft nproc 4096 # 进程数软限制  * hard nproc 4096 # 进程数硬限制  

保存后需重新登录生效。

2. 确保PAM加载限制

编辑 /etc/pam.d/common-session/etc/pam.d/common-session-noninteractive,确保包含:

session required pam_limits.so 

保存后重新登录生效。

3. 调整systemd服务限制(如Nginx、Docker等)

编辑 /etc/systemd/system.conf/etc/systemd/user.conf,取消注释并修改:

DefaultLimitNOFILE=65536 DefaultLimitNPROC=4096 

保存后执行:

sudo systemctl daemon-reload sudo systemctl restart <服务名> # 重启相关服务  

验证服务限制:

sudo systemctl show <服务名> | grep LimitNOFILE 

三、特殊场景调整

  • 修改内存锁定限制(如RDMA场景)
    编辑 /etc/security/limits.conf,添加:
    * soft memlock unlimited * hard memlock unlimited 
    或通过 /etc/systemd/system.conf 设置 DefaultLimitMEMLOCK=infinity

四、验证生效

  • 普通用户:重新登录后执行 ulimit -n 查看。
  • systemd服务:通过 systemctl show <服务名> 验证对应参数。

注意事项

  • 避免设置过高限制,可能导致系统资源耗尽。
  • 生产环境建议根据服务类型调整(如高并发服务需增大文件描述符限制)。

参考来源:

0