非常教程

Python参考手册

Unix

resource

该模块提供了测量和控制程序使用的系统资源的基本机制。

符号常量用于指定特定系统资源并请求有关当前进程或其子进程的使用信息。

针对错误定义了一个例外:

exception resource.error

如果底层系统调用失败意外,下面描述的函数可能会引发此错误。

1.资源限制

资源使用可以使用下面描述的setrlimit()函数进行限制。 每个资源都由一对限制控制:软限制和硬限制。 软限制是电流限制,可能会随着时间的推移而降低或提高。 软限制永远不会超过硬限制。 硬限制可以降低到大于软限制的任何值,但不会升高。 (只有拥有超级用户的有效UID的进程才能提高硬性限制。)

可以限制的具体资源依赖于系统。它们在getrlimit(2)手册页中进行了描述。下面列出的资源在底层操作系统支持时支持; 对于那些平台,在这个模块中没有定义操作系统无法检查或控制的资源。

resource.RLIM_INFINITY

常量用于表示无限资源的限制。

resource.getrlimit(resource)

使用当前资源的软限制和硬限制返回一个元组(软,硬)。 如果指定了无效资源,则引发ValueError;如果底层系统调用意外失败,则引发错误。

resource.setrlimit(resource, limits)

设定资源 消耗的新限制。该限制 参数必须是一个元组(soft, hard)两个整数描述的新限制的。值RLIM_INFINITY可以用来请求无限制的限制。

如果指定了无效的资源,如果新的软限制超过硬限制,或者某个进程试图提高硬限制,则会引发ValueError。 如果该资源的硬限制或系统限制不是无限的,则指定RLIM_INFINITY的限制将导致ValueError。 具有超级用户的有效UID的进程可以请求任何有效的限制值,包括无限制,但是如果请求的限制超过系统限制,则仍会引发ValueError。

如果底层系统调用失败,setrlimit也可能引发错误。

这些符号定义了可以使用下面描述的setrlimit()和getrlimit()函数来控制其消耗的资源。 这些符号的值恰好是C程序使用的常量。

getrlimit(2)的Unix手册页列出了可用资源。请注意,并非所有系统都使用相同的符号或相同的值来表示相同的资源。该模块不会尝试屏蔽平台差异 - 在该平台上,该模块将无法使用未为平台定义的符号。

resource.RLIMIT_CORE

当前进程可以创建的核心文件的最大大小(以字节为单位)。如果需要更大的内核来包含整个过程映像,则可能会导致创建部分内核文件。

resource.RLIMIT_CPU

处理器可以使用的最大处理器时间量(以秒为单位)。 如果超出此限制,则会向进程发送SIGXCPU信号。 (有关如何捕获此信号并执行一些有用的操作的信息,请参阅信号模块文档,例如将打开的文件刷新到磁盘。)

resource.RLIMIT_FSIZE

进程可能创建的文件的最大大小。

resource.RLIMIT_DATA

进程堆的最大大小(以字节为单位)。

resource.RLIMIT_STACK

当前进程调用堆栈的最大大小(以字节为单位)。这只会影响多线程进程中主线程的堆栈。

resource.RLIMIT_RSS

应该提供给流程的最大驻留集大小。

resource.RLIMIT_NPROC

当前进程可能创建的最大进程数。

resource.RLIMIT_NOFILE

当前进程的最大打开文件描述符数。

resource.RLIMIT_OFILE

RLIMIT_NOFILE的BSD名称。

resource.RLIMIT_MEMLOCK

可能被锁定在内存中的最大地址空间。

resource.RLIMIT_VMEM

该进程可能占用的最大映射内存区域。

resource.RLIMIT_AS

进程可能占用的地址空间的最大区域(以字节为单位)。

2.资源使用

这些函数用于检索资源使用信息:

resource.getrusage(who)

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

每个返回值的字段都描述了特定系统资源的使用方式,例如,运行时间是用户模式或进程从主内存换出的次数。某些值取决于内部时钟节拍,例如过程正在使用的内存量。

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

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

指数

领域

资源

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。 在特殊情况下它可能会引发错误异常。

在版本2.3中进行了更改:增加了对值的访问,作为返回对象的属性。

resource.getpagesize()

返回系统页面中的字节数。(这不必与硬件页面大小相同。)

以下RUSAGE_*符号被传递给该getrusage()函数以指定应提供哪些处理信息。

resource.RUSAGE_SELF

RUSAGE_SELF 应该用于请求仅与流程本身有关的信息。

resource.RUSAGE_CHILDREN

传递给getrusage()来请求调用进程的子进程的资源信息。

resource.RUSAGE_BOTH

传递给getrusage()来请求当前进程和子进程消耗的资源。 可能不适用于所有系统。

Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法