getrlimit 的单位是什么?
What is the unit of getrlimit?
请大家帮忙理解getrlimit的单位是什么。我想它是字节,但它仍然是一个巨大的价值。
>>> import resource
>>> soft, hard = resource.getrlimit(resource.RLIMIT_AS)
>>> soft
9223372036854775807
>>> hard
9223372036854775807
rlim_t
通常是 unsigned integer
类型,而 max/unlimited 地址 space 在 64 位机器上将是 (2^64) - 1 但无论你怎么看您机器上的最大限制为 9223372036854775807
。在 CentOS/Ubuntu 机器上,我看到 RLIM_INFINITY
设置为 -1
,而在 MacOS 上,它设置 9223372036854775807
作为代表无限限制的常量。
resource.RLIM_INFINITY
: 用于表示无限资源限制的常量。
在 CentOS 机器上:
[root ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root ~]# ulimit -a | grep virtual
virtual memory (kbytes, -v) unlimited
[root ~]# python
Python 2.7.5 (default, Oct 30 2018, 23:45:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import resource
>>> resource.RLIM_INFINITY
-1
>>> soft, hard = resource.getrlimit(resource.RLIMIT_AS)
>>> soft
-1
>>> hard
-1
>>>
请大家帮忙理解getrlimit的单位是什么。我想它是字节,但它仍然是一个巨大的价值。
>>> import resource
>>> soft, hard = resource.getrlimit(resource.RLIMIT_AS)
>>> soft
9223372036854775807
>>> hard
9223372036854775807
rlim_t
通常是 unsigned integer
类型,而 max/unlimited 地址 space 在 64 位机器上将是 (2^64) - 1 但无论你怎么看您机器上的最大限制为 9223372036854775807
。在 CentOS/Ubuntu 机器上,我看到 RLIM_INFINITY
设置为 -1
,而在 MacOS 上,它设置 9223372036854775807
作为代表无限限制的常量。
resource.RLIM_INFINITY : 用于表示无限资源限制的常量。
在 CentOS 机器上:
[root ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root ~]# ulimit -a | grep virtual
virtual memory (kbytes, -v) unlimited
[root ~]# python
Python 2.7.5 (default, Oct 30 2018, 23:45:53)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import resource
>>> resource.RLIM_INFINITY
-1
>>> soft, hard = resource.getrlimit(resource.RLIMIT_AS)
>>> soft
-1
>>> hard
-1
>>>