欢迎访问宙启技术站
智能推送

Pythonpsutil模块:实时监控系统进程信息

发布时间:2023-12-11 16:10:55

psutil是一个python第三方模块,用于检索有关运行中计算机进程和系统利用率(如CPU、内存、磁盘、网络等)的信息。它提供了一个简单而强大的API来检索和处理这些信息。

下面是一个使用psutil模块实时监控系统进程信息的例子:

import psutil
import time

# 获取所有进程的列表
processes = psutil.process_iter()

# 遍历每个进程,并输出进程的一些信息
for process in processes:
    # 进程ID
    pid = process.pid
    # 进程名称
    name = process.name()
    # 进程状态
    status = process.status()

    # 输出进程信息
    print(f"进程ID:{pid},进程名称:{name},进程状态:{status}")

# 每秒更新进程信息,并输出CPU利用率和内存占用
while True:
    # 获取CPU利用率
    cpu_percent = psutil.cpu_percent()
    # 获取内存占用
    memory_usage = psutil.virtual_memory().percent

    # 输出CPU利用率和内存占用
    print(f"CPU利用率:{cpu_percent}%,内存占用:{memory_usage}%")

    # 等待1秒
    time.sleep(1)

在上面的例子中,首先使用psutil.process_iter()获取所有进程的列表,然后遍历每个进程并输出进程的一些基本信息,如进程ID、进程名称和进程状态。

接下来使用psutil.cpu_percent()获取当前CPU的利用率,使用psutil.virtual_memory().percent获取当前内存的占用率,并输出这些信息。通过将程序放在一个无限循环中,并使用time.sleep(1)等待1秒,可以实现每秒更新一次进程信息。

psutil提供了许多其他方法和属性,可以用于获取更详细的系统和进程信息。例如,psutil.cpu_count()可以获取CPU的核心数,psutil.disk_usage('/')可以获取指定磁盘的使用情况,psutil.net_io_counters()可以获取网络的收发字节等。

使用psutil模块可以方便地监控系统进程的信息,进行系统性能分析和调优。