一、引言
psutil
是一个跨平台库,用于检索系统利用率(CPU、内存、磁盘、网络、传感器等)和运行中的进程信息。它提供了一个简单而一致的接口,用于获取这些信息,而无需考虑底层操作系统的差异。在Python中,psutil
模块是系统监控和性能分析的有力工具。
二、安装psutil
首先,确保您已经安装了psutil
模块。如果尚未安装,可以使用pip进行安装:
pip install psutil
三、代码示例与解释
1. 导入psutil模块
import psutil
import time
这里我们同时导入了time
模块,以便在后续示例中使用sleep
函数来模拟时间流逝。
2. 获取CPU使用率
def print_cpu_percent(interval=1):
"""
打印CPU使用率。
参数:
interval (float): 两次采样之间的时间间隔(秒)。默认为1秒。
返回:
无返回值,但会打印CPU使用率。
"""
print(f"CPU使用率: {psutil.cpu_percent(interval=interval)}%")
# 示例调用
print_cpu_percent() # 立即返回自上次调用以来的CPU使用率(如果这是第一次调用,则可能不准确)
time.sleep(1) # 等待1秒
print_cpu_percent(1) # 等待1秒后返回CPU使用率
解释:
psutil.cpu_percent()
函数用于获取CPU使用率。默认情况下,它返回自上次调用以来的CPU使用率(如果这是第一次调用,则可能不准确)。- 通过设置
interval
参数,我们可以让函数等待指定的时间间隔后再返回CPU使用率。这通常用于获取更准确的长时间内的平均CPU使用率。 - 在示例中,我们首先调用
print_cpu_percent()
函数而不设置interval
参数,以演示立即返回的结果可能不准确。然后,我们使用time.sleep(1)
等待1秒,并再次调用print_cpu_percent(1)
来获取并打印1秒内的平均CPU使用率。
3. 获取虚拟内存信息
def print_virtual_memory():
"""
打印虚拟内存信息。
参数:
无
返回:
无返回值,但会打印虚拟内存信息。
"""
mem = psutil.virtual_memory()
print(f"总内存: {mem.total / (1024 ** 3):.2f} GB")
print(f"已用内存: {mem.used / (1024 ** 3):.2f} GB")
print(f"空闲内存: {mem.free / (1024 ** 3):.2f} GB")
print(f"内存使用率: {mem.percent}%")
# 示例调用
print_virtual_memory()
解释:
psutil.virtual_memory()
函数返回一个命名元组,其中包含有关系统虚拟内存的信息。这些信息包括总内存、已用内存、空闲内存、共享内存、缓存内存、可用内存和内存使用率。- 在示例中,我们调用
psutil.virtual_memory()
并将返回的对象存储在mem
变量中。然后,我们打印出总内存、已用内存、空闲内存和内存使用率。注意,我们将内存大小从字节转换为GB(1GB = 1024^3字节),以便更容易阅读。
4. 获取磁盘使用情况
除了CPU和内存信息外,psutil
还可以用于获取磁盘使用情况。以下是一个示例:
```python
def print_disk_usage(path='/'):
"""
打印指定路径的磁盘使用情况。
参数:
path (str): 要检查磁盘使用情况的路径。默认为根目录。
返回:
无返回值,但会打印磁盘使用情况。
"""
du = psutil.disk_usage(path)
print(f"路径: {path}")
print(f"总空间: {du.total / (1024 ** 3):.2f} GB")
print(f"已用空间: {du.used / (1024 **
处理结果:
一、引言
psutil
是一个跨平台库,用于检索系统利用率(CPU、内存、磁盘、网络、传感器等)和运行中的进程信息。它提供了一个简单而一致的接口,用于获取这些信息,而无需考虑底层操作系统的差异。在Python中,psutil
模块是系统监控和性能分析的有力工具。
二、安装psutil
首先,确保您已经安装了psutil
模块。如果尚未安装,可以使用pip进行安装:
```bash
1. 导入psutil模块
```python
2. 获取CPU使用率
```python
"""
打印CPU使用率。
参数
interval (float) 两次采样之间的时间间隔(秒)。默认为1秒。
返回
无返回值,但会打印CPU使用率。
"""
print(f"CPU使用率 {psutil.cpu_percent(interval=interval)}%")
示例调用
psutil.cpu_percent()
函数用于获取CPU使用率。默认情况下,它返回自上次调用以来的CPU使用率(如果这是第一次调用,则可能不准确)。3. 获取虚拟内存信息
```python
"""
打印虚拟内存信息。
参数
无
返回
无返回值,但会打印虚拟内存信息。
"""
mem = psutil.virtualmemory()
print(f"总内存 {mem.total (1024 ** 3).2f} GB")
print(f"已用内存 {mem.used (1024 3).2f} GB")
print(f"空闲内存 {mem.free _ (1024 3).2f} GB")
print(f"内存使用率 {mem.percent}%")示例调用
psutil.virtual_memory()
函数返回一个命名元组,其中包含有关系统虚拟内存的信息。这些信息包括总内存、已用内存、空闲内存、共享内存、缓存内存、可用内存和内存使用率。4. 获取磁盘使用情况
除了CPU和内存信息外,psutil
还可以用于获取磁盘使用情况。以下是一个示例:
```python
"""
打印指定路径的磁盘使用情况。
参数
path (str) 要检查磁盘使用情况的路径。默认为根目录。
返回_
无返回值,但会打印磁盘使用情况。
"""
du = psutil.diskusage(path)
print(f"路径 {path}")
print(f"总空间 {du.total (1024 3).2f} GB")
print(f"已用空间 {du.used _ (1024