进程资源限制
本文参考《深入理解Linux内核》
每个进程都有一组相关的资源限制(resource limit),限制指定了进程能使用的系统资源数量。这些限制避免用户过分使用系统资源(cpu,磁盘空间等)
对当前进程的资源限制存放在 current->signal->rlim字段。
linux系统承认以下表中的资源限制:
RLIMIT_AS 进程地址空间最大数(以字节为单位)
RLIMIT_CORE 内存信息转储文件大小
RLIMIT_CPU 进程使用CPU的最长时间(秒为单位)
RLIMIT_DATA 堆大小最大值
RLIMIT_FSIZE 文件大小的最大值
RLIMIT_LOCKS 文件锁数量最大值
RLIMIT_MEMLOCK
RLIMIT_MSGQUEUE
RLIMIT_NOFILE 打开文件描述符的最大值
RLIMIT_NPROC 用户能拥有的进程最大数
RLIMIT_RSS
RLIMIT_SIGENDING
RLIMIT_STACK 栈大小的最大值
如果你不会使用c语言,也没有关系,你可以使用python模块来查看这些数据,pyhon resource模块提供了相应的接口
https://docs.python.org/3/library/resource.html
import resource
print(resource.getrlimit(resource.RLIMIT_STACK))
---
(8388608, -1)
比如说我可以去修改一个进程可以打开的文件描述符的数量,当我打开超过这个数量的文件描述符的时候,就会报错误。
OSError: [Errno 24] Too many open files:
如何查看一个进程打开了多少文件描述符?
import psutil
proc = psutil.Process()
proc.open_files()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类