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

最简单、也最直接的做法,就是临时调整。这种方法适合测试或快速解决问题,重启终端后就会失效。
先看看当前系统有哪些限制:
ulimit -a这条命令会列出所有资源的当前限制值,一目了然。
然后,针对需要调整的资源,直接用命令设置:
ulimit -n ulimit -u ulimit -t ulimit -v ulimit -m 当然,如果你想让这些设置一劳永逸,临时调整就不够用了。需要把配置写进系统文件里。
打开该用户的 shell 配置文件。简单说,就是编辑用户家目录下的 .bashrc 或 .bash_profile:
nano ~/.bashrc或者
nano ~/.bash_profile在文件末尾加上你想要的 ulimit 设置,比如:
ulimit -n ulimit -u 保存退出后,记得让配置生效:
source ~/.bashrc或者
source ~/.bash_profile需要修改全局配置文件 /etc/security/limits.conf,这需要 root 权限:
sudo nano /etc/security/limits.conf在文件里添加类似这样的行(记得把 换成实际用户名, 换成具体的数值):
soft nofile hard nofile soft nproc hard nproc 同样,保存并退出编辑器。
/etc/security/limits.conf 这类系统级文件,必须使用 root 权限。ulimit 并不是万能的,有些内核级别的参数(比如进程最大PID数量、内存总量),它管不了,需要去修改 /etc/sysctl.conf 或其他内核参数文件。从实践来看,ulimit 是运维和开发人员手里非常实用的一个工具。用好它,你会发现很多棘手的资源争抢问题,其实在配置阶段就能提前规避。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8