如何使用ulimit限制Linux进程资源使用量
时间:2026-08-21 | 作者:星际追番人 | 阅读:0在Linux系统管理中,资源控制是个老生常谈但又至关重要的课题。ulimit正是那把常用的“紧箍咒”,专门用来约束shell进程及其子进程的资源行为。
它能限制的范围很广,包括文件大小、CPU时间、内存用量,几乎覆盖了日常运维的方方面面。下面就来聊聊,怎么用ulimit把资源限制落到实处。
查看与设置ulimit资源限制
1. 查看当前资源限制
先确认当前系统已经设置了哪些资源限制。执行ulimit -a后,可以直接看到完整的限制清单。
ulimit -a
2. 限制文件大小
如果要限制单个文件的最大大小,可以使用-f参数,单位是块。
比如想限制文件最大10MB,换算一下就是10485760块:
ulimit -f 10485760
3. 限制进程数
当用户同时运行的进程过多时,系统容易吃不消。使用-u参数,可以限制最大进程数。
比如最多允许10个进程:
ulimit -u 10
4. 限制CPU时间
有些进程非常“吃”CPU,一旦陷入死循环,影响会更明显。使用-t参数可以设置CPU时间上限,单位是秒。
比如限制为1小时:
ulimit -t 3600
5. 限制内存使用
内存泄漏一直是运维中的常见问题。使用-m参数,可以限制进程最大内存用量,单位是KB。
比如限制512MB:
ulimit -m 536870912
6. 限制数据段大小
堆和栈的大小也可以单独控制。使用-d参数,可以限制数据段大小,单位是KB。
比如限制256MB:
ulimit -d 268435456
7. 限制核心转储文件大小
程序崩溃时生成的core dump文件,有时会非常大。使用-c参数,可以为它设置上限。
比如限制为10MB:
ulimit -c 10485760
8. 临时设置资源限制
以上命令设置后,只在当前shell会话中生效。终端关闭后,这些限制就会失效。
如果想长期生效,可以把命令写入用户的shell配置文件,比如.bashrc或.bash_profile。这样每次打开shell时,限制都会自动加载。
例如,在.bashrc中加入以下内容:
ulimit -f 10485760
ulimit -u 10
ulimit -t 3600
ulimit -m 536870912
ulimit -d 268435456
ulimit -c 10485760
9. 系统级限制
如果需要在系统层面统一设置限制,可以使用/etc/security/limits.conf这个文件。
在这里可以针对用户或组设置软硬限制。比如限制某个用户打开文件数:
soft nofile 1024
hard nofile 2048
总结
通过这些方法,你就能灵活地使用ulimit控制进程资源。从当前会话的临时限制,到写入配置文件的永久生效,再到系统级设置,都可以按场景选择。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Linux服务器安装配置vsftpd完整教程
- 时间:2026-08-31
-
- Linux下使用Perl编写HelloWorld完整教程
- 时间:2026-08-27
-
- Linux系统中Rust的跨平台兼容性深度解析
- 时间:2026-08-27
-
- Rust在Linux容器化技术中的应用:从极简运行时到内核安全
- 时间:2026-08-27
-
- Linux下Rust并发处理:安全与高效的融合实践
- 时间:2026-08-27
-
- Linux下Rust代码审查实战:从Clippy到CI/CD自动化
- 时间:2026-08-27
-
- Linux下Rust异步编程实战:async-std与Tokio详解
- 时间:2026-08-27
-
- Linux系统中Rust配置CI/CD完整指南
- 时间:2026-08-27
精选合集
更多大家都在玩
大家都在看
更多-
- 糖尿病完全不能吃糖吗
- 时间:2026-09-15
-
- 蚂蚁庄园小课堂2026年9月16日最新题目答案
- 时间:2026-09-15
-
- 小鸡答题今天的答案是什么2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园每日答题答案2026年9月16日
- 时间:2026-09-15
-
- 以下哪种粮食是酿造绍兴黄酒的主要原料 蚂蚁庄园今日答案9月16日
- 时间:2026-09-15
-
- 劝学名句“及时当勉励,岁月不待人”出自哪位诗人 蚂蚁庄园今日答案9.16
- 时间:2026-09-15
-
- 蚂蚁庄园今天答题答案2026年9月16日
- 时间:2026-09-15
-
- 蚂蚁庄园答题今日答案2026年9月16日
- 时间:2026-09-15
