Python利用PsUtil实现实时监控系统状态

寻技术 Python编程 2024年01月03日 99

PSUtil是一个跨平台的Python库,用于检索有关正在运行的进程和系统利用率(CPU,内存,磁盘,网络,传感器)的信息。

它可以跨平台使用,在Linux,Windows和macOS上都能运行。

在本文中,我们将深入研究如何使用PSUtil模块来监控系统的各种资源。本文包括以下主题:

1.安装psutil模块

首先,我们需要安装psutil模块。可以使用以下命令来安装:

pip install psutil

2.获取系统信息

使用psutil.cpu_count()函数获取CPU数量:

import psutil
print("CPU数量:", psutil.cpu_count(logical=True))

可以看到,我们使用psutil.cpu_count()函数获取了系统中逻辑CPU的数量。

接下来,我们可以使用psutil.cpu_stats()函数获取CPU的统计信息:

import psutil
cpu_stats = psutil.cpu_stats()
print("CPU统计信息:", cpu_stats)

3.获取CPU信息

使用psutil.cpu_percent()函数获取CPU使用率:

import psutil
print("CPU使用率:", psutil.cpu_percent(interval=1))

可以看到,我们使用psutil.cpu_percent()函数获取了CPU的使用率。interval参数指定了时间间隔,单位为秒。

接下来,我们可以使用psutil.cpu_times()函数获取CPU的时间信息:

import psutil
cpu_times = psutil.cpu_times()
print("CPU时间信息:", cpu_times)

4.获取内存信息

使用psutil.virtual_memory()函数获取内存信息:

import psutil
memory = psutil.virtual_memory()
print("内存信息:", memory)

5.获取磁盘信息

使用psutil.disk_partitions()函数获取磁盘分区信息:

import psutil
partitions = psutil.disk_partitions()
print("磁盘分区信息:", partitions)

可以看到,我们使用psutil.disk_partitions()函数获取了系统中的磁盘分区信息。

接下来,我们可以使用psutil.disk_usage()函数获取磁盘使用情况:

import psutil
usage = psutil.disk_usage('/')
print("磁盘使用情况:", usage)

6.获取网络信息

使用psutil.net_io_counters()函数获取网络信息:

import psutil
net_io_counters = psutil.net_io_counters()
print("网络信息:", net_io_counters)

可以看到,我们使用psutil.net_io_counters()函数获取了网络的信息,包括发送和接收的字节数。

7.获取传感器信息

使用psutil.sensors_temperatures()函数获取传感器信息:

import psutil
sensors_temperatures = psutil.sensors_temperatures()
print("传感器信息:", sensors_temperatures)

可以看到,我们使用psutil.sensors_temperatures()函数获取了系统中的传感器信息。

8.使用psutil进行进程管理

使用psutil.process_iter()函数获取正在运行的进程:

import psutil
for process in psutil.process_iter():
    print(process.name())

可以看到,我们使用psutil.process_iter()函数获取了正在运行的进程。

我们可以使用process对象的各种属性来获取进程的详细信息。

使用psutil.Process()函数获取特定进程的详细信息:

import psutil
process_id = 1234
process = psutil.Process(process_id)
print(process.name())
print(process.cpu_percent(interval=1))
print(process.memory_info().rss)

9.使用psutil进行系统监控

使用psutil实现一个简单的系统监控程序:

import time
import psutil
while True:
    cpu_usage = psutil.cpu_percent(interval=1)
    memory_usage = psutil.virtual_memory().percent
    disk_usage = psutil.disk_usage('/').percent
    network_usage = psutil.net_io_counters().bytes_sent + psutil.net_io_counters().bytes_recv
    print("CPU使用率:", cpu_usage)
    print("内存使用率:", memory_usage)
    print("磁盘使用率:", disk_usage)
    print("网络使用量:", network_usage)
    time.sleep(1)

可以看到,我们使用psutil实现了一个简单的系统监控程序,可以实时监控CPU,内存,磁盘和网络的使用情况。

10.总结

本文介绍了如何使用psutil模块来监控系统的各种资源。我们可以使用psutil获取系统信息,CPU信息,内存信息,磁盘信息,网络信息和传感器信息。

我们还可以使用psutil进行进程管理和系统监控。psutil是一个非常强大的Python库,可以帮助我们编写高效的系统监控程序。

原文地址:https://mp.weixin.qq.com/s/i5Ucp6IyL2TGYMihsTs8EA
关闭

用微信“扫一扫”