當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。