商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > ulimit如何调整系统资源分配策略

ulimit如何调整系统资源分配策略

  发布于2026-07-15 阅读(0)

扫一扫,手机访问

你有没有遇到过这样的情况:系统资源被某个进程耗尽,导致整个服务响应变慢,甚至崩溃?其实,很多类似的问题都可以通过一个简单的命令行工具——ulimit——来提前预防。它就像一个“资源管家”,专门用来控制 shell 进程及其子进程可以使用的系统资源上限。比如,你能限制某个用户能打开多少文件、能跑多少个进程,防止某个进程把整个系统的资源“吃干抹净”。

ulimit如何调整系统资源分配策略

临时调整

最简单、也最直接的做法,就是临时调整。这种方法适合测试或快速解决问题,重启终端后就会失效。

  1. 先看看当前系统有哪些限制:

    ulimit -a

    这条命令会列出所有资源的当前限制值,一目了然。

  2. 然后,针对需要调整的资源,直接用命令设置:

    • 文件描述符(也就是能同时打开的文件数量):
      ulimit -n 
    • 用户能创建的进程数:
      ulimit -u 
    • CPU 时间(以秒为单位):
      ulimit -t 
    • 虚拟内存使用上限(以 KB 为单位):
      ulimit -v 
    • 进程能占用的最大常驻内存(不受swap影响):
      ulimit -m 

永久调整

当然,如果你想让这些设置一劳永逸,临时调整就不够用了。需要把配置写进系统文件里。

针对单个用户

  1. 打开该用户的 shell 配置文件。简单说,就是编辑用户家目录下的 .bashrc.bash_profile

    nano ~/.bashrc

    或者

    nano ~/.bash_profile
  2. 在文件末尾加上你想要的 ulimit 设置,比如:

    ulimit -n ulimit -u 
  3. 保存退出后,记得让配置生效:

    source ~/.bashrc

    或者

    source ~/.bash_profile

针对所有用户

  1. 需要修改全局配置文件 /etc/security/limits.conf,这需要 root 权限:

    sudo nano /etc/security/limits.conf
  2. 在文件里添加类似这样的行(记得把 换成实际用户名, 换成具体的数值):

     soft nofile  hard nofile  soft nproc  hard nproc 
  3. 同样,保存并退出编辑器。

注意事项

  • 权限:修改 /etc/security/limits.conf 这类系统级文件,必须使用 root 权限。
  • 重启服务:有些服务(比如数据库、Web服务器)可能需要重启才能读取新的资源限制。
  • 系统限制:ulimit 并不是万能的,有些内核级别的参数(比如进程最大PID数量、内存总量),它管不了,需要去修改 /etc/sysctl.conf 或其他内核参数文件。

从实践来看,ulimit 是运维和开发人员手里非常实用的一个工具。用好它,你会发现很多棘手的资源争抢问题,其实在配置阶段就能提前规避。

本文转载于:https://www.yisu.com/ask/53729796.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注