当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python resource.getrusage用法及代码示例


用法:

resource.getrusage(who)

此函数返回一个对象,该对象说明当前进程或其子进程消耗的资源,由 who 参数指定。 who 参数应该使用下面说明的RUSAGE_* 常量之一来指定。

一个简单的例子:

from resource import *
import time

# a non CPU-bound task
time.sleep(3)
print(getrusage(RUSAGE_SELF))

# a CPU-bound task
for i in range(10 ** 8):
   _ = 1 + 1
print(getrusage(RUSAGE_SELF))

返回值的每个字段都说明了特定系统资源的使用方式,例如运行所花费的时间是用户模式或进程从主内存换出的次数。一些值取决于内部时钟滴答,例如进程正在使用的内存量。

为了向后兼容,返回值也可以作为 16 个元素的元组访问。

返回值的字段ru_utimeru_stime是浮点值,分别表示在用户模式下执行的时间和在系统模式下执行的时间。其余值是整数。有关这些值的详细信息,请参阅 getrusage(2) 手册页。这里提供一个简短的摘要:

index

场地

资源

0

ru_utime

用户模式下的时间(浮点秒)

1

ru_stime

系统模式下的时间(浮点数)

2

ru_maxrss

最大驻留集大小

3

ru_ixrss

共享内存大小

4

ru_idrss

非共享内存大小

5

ru_isrss

非共享堆栈大小

6

ru_minflt

不需要 I/O 的页面错误

7

ru_majflt

需要 I/O 的页面错误

8

ru_nswap

换出次数

9

ru_inblock

块输入操作

10

ru_oublock

块输出操作

11

ru_msgsnd

发送的消息

12

ru_msgrcv

收到的消息

13

ru_nsignals

接收到的信号

14

ru_nvcsw

自愿上下文切换

15

ru_nivcsw

无意识的上下文切换

如果指定了无效的 who 参数,此函数将引发 ValueError。它还可能在异常情况下引发error 异常。

相关用法


注:本文由纯净天空筛选整理自python.org大神的英文原创作品 resource.getrusage。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。