这段代码中导入了 Python 的 psutil 模块。
psutil (Python system and process utilities) 是一个跨平台的 Python 库,用于检索有关进程和系统利用率(CPU、内存、磁盘、网络等)的信息。psutil 支持 Windows、Linux、macOS 和 FreeBSD 等多个平台,并提供了丰富的 API,可以方便地获取和操作系统和进程相关的信息。
例如,以下代码将输出系统 CPU 和内存使用率:
import psutil
# 获取 CPU 使用率
cpu_percent = psutil.cpu_percent()
print(f"CPU 使用率: {
cpu_percent}%")
# 获取内存使用率
mem = psutil.virtual_memory()
mem_percent = mem.percent
print(f"内存使用率: {
mem_percent}%")
以下是几个常用 API:
-
psutil.cpu_percent(interval=None, percpu=False)
返回系统 CPU 使用率,可以指定采样间隔
interval
(单位为秒),指定为 None 则不间隔,返回当前时刻的 CPU 使用率;percpu
参数指示是否返回每个 CPU 的使用率。 -
psutil.virtual_memory()
返回系统内存使用情况。返回值是一个命名元组 (total, available, percent, used, free, active, inactive, buffers, cached, shared, slab),分别代表总内存大小、可用内存大小、内存使用率、已使用内存大小、未使用内存大小、活跃内存大小、非活跃内存大小、缓存大小、缓存中的进程数、共享内存大小、slab 元数据大小。
-
psutil.disk_usage(path)
返回指定路径所在磁盘的使用情况。返回值是一个命名元组 (total, used, free, percent)。其中,total 代表磁盘总大小,used 代表已使用的磁盘大小,free 代表未使用的磁盘大小,percent 代表磁盘使用率。
-
psutil.net_io_counters(pernic=False)
返回网络 IO 统计信息。返回值是一个命名元组 (bytes_sent, bytes_recv, packets_sent, packets_recv, errin, errout, dropin, dropout)。其中,bytes_sent 代表发送字节数,bytes_recv 代表接收字节数,packets_sent 代表发送数据包数,packets_recv 代表接收数据包数,errin 代表接收数据包错误数,errout 代表发送数据包错误数,dropin 代表接收数据包丢失数,dropout 代表发送数据包丢失数。
就像上面的示例代码一样,我们可以方便地利用 psutil 获取系统和进程的信息。