Python的resource模块允许获取和设置各种系统资源使用信息。具体而言,进程使用的内存量可通过resource.RLIMIT_VMEM
(或者,在某些系统上,根据this StackOverflow答案,resource.RLIMIT_AS
)获得
当我运行以下Python代码(使用Python 3.7)打印内存使用情况时,我看到一个具有两个值的元组:
import resource
print(resource.getrlimit(resource.RLIMIT_AS))
在Ubuntu18.04上,它打印(-1, -1)
(我的意思是,两个值都是无限的)
在MacOSX10.4上,它打印(9223372036854775807, 9223372036854775807)
(大约相当于一个EB字节)
关于此输出,我有两个问题:
第一个数字和第二个数字有什么区别
报告的值如9223372036854775807
应该如何解释?它们是字节数吗(非常大的值是否只是一种设置内存限制的方法,而内存限制太大,永远无法达到?
这两个值对应于
getrlimit
系统调用中的rlim_cur
(“软限制”)和rlim_max
(“硬限制”)。这记录在library documentation for the resource module中值
-1
对应于resource.RLIM_INFINITY
常量,这意味着没有设置限制RLIMIT_AS
的单位定义为字节,记录为here:您可以在
getrlimit(2)
手册页上找到关于这些值含义的更多Linux特定信息相关问题 更多 >
编程相关推荐