wordpress访问子网站,珠海网站建设推广公司,wordpress结合tornado,wordpress主题开发教材前言 psutil是一个跨平台的库#xff0c;用于获取系统的进程和系统利用率#xff08;包括 CPU、内存、磁盘、网络等#xff09;信息。 目录 安装
应用场景
常用方法
一、系统信息相关函数 二、进程信息相关函数
三、网络信息相关函数 四、其他实用函数
使用样例
监控应…前言 psutil是一个跨平台的库用于获取系统的进程和系统利用率包括 CPU、内存、磁盘、网络等信息。 目录 安装
应用场景
常用方法
一、系统信息相关函数 二、进程信息相关函数
三、网络信息相关函数 四、其他实用函数
使用样例
监控应用程序 安装
pip install psutil
应用场景 一、系统监控 二、进程管理 三、资源限制 四、自动化任务 常用方法
一、系统信息相关函数 psutil.cpu_times() 返回系统的 CPU 时间信息包括用户态时间、系统态时间、空闲时间等。 psutil.cpu_percent() 返回 CPU 的使用率百分比。可以指定间隔时间来获取一段时间内的平均使用率。 psutil.virtual_memory() 返回系统的虚拟内存信息包括总内存、可用内存、已使用内存等。 psutil.swap_memory() 返回系统的交换内存信息。 psutil.disk_usage(path) 返回指定路径的磁盘使用情况包括总空间、已使用空间和可用空间等。 代码 import psutilcpu_times psutil.cpu_times()print(f用户态时间{cpu_times.user})print(f系统态时间{cpu_times.system})print(f空闲时间{cpu_times.idle})cpu_percent psutil.cpu_percent(interval1)print(fCPU 使用率{cpu_percent}%)memory_info psutil.virtual_memory()print(f总内存{memory_info.total})print(f可用内存{memory_info.available})print(f已使用内存{memory_info.used})swap_info psutil.swap_memory()print(f总交换内存{swap_info.total})print(f已使用交换内存{swap_info.used})print(f可用交换内存{swap_info.free})disk_usage psutil.disk_usage(/)print(f总磁盘空间{disk_usage.total})print(f已使用磁盘空间{disk_usage.used})print(f可用磁盘空间{disk_usage.free}) 二、进程信息相关函数 psutil.pids() 返回当前系统中的所有进程 ID。 psutil.Process(pid) 创建一个表示特定进程的对象可以通过进程 ID 来获取。 process.name() 返回进程的名称。 process.exe() 返回进程的可执行文件路径。 process.cpu_percent() 返回进程的 CPU 使用率百分比。 process.memory_info() 返回进程的内存使用信息包括 RSS常驻集大小和 VMS虚拟内存大小等。 process.terminate() 终止进程。 代码 pids psutil.pids()print(f进程 ID 列表{pids})process psutil.Process(1234)process_name process.name()print(f进程名称{process_name})exe_path process.exe()print(f可执行文件路径{exe_path})process_cpu_percent process.cpu_percent(interval1)print(f进程 CPU 使用率{process_cpu_percent}%)memory_info process.memory_info()print(f进程 RSS{memory_info.rss})print(f进程 VMS{memory_info.vms})process.terminate()
三、网络信息相关函数 psutil.net_io_counters() 返回系统的网络 I/O 统计信息包括发送和接收的字节数、数据包数等。 psutil.net_if_addrs() 返回系统的网络接口地址信息。 psutil.net_if_stats() 返回系统的网络接口状态信息。 代码 net_io psutil.net_io_counters()print(f发送字节数{net_io.bytes_sent})print(f接收字节数{net_io.bytes_recv})net_addrs psutil.net_if_addrs()print(f网络接口地址信息{net_addrs})net_stats psutil.net_if_stats()print(f网络接口状态信息{net_stats}) 四、其他实用函数 psutil.boot_time() 返回系统的启动时间以秒为单位从 Unix 纪元时间开始计算。 psutil.users() 返回当前登录到系统的用户信息。 代码 boot_time psutil.boot_time()print(f系统启动时间{boot_time})users psutil.users()print(f当前登录用户信息{users}) 使用样例
监控应用程序
import psutil
import time# 要监控的应用程序名称
target_app_name YourAppName.exewhile True:for process in psutil.process_iter([pid, name, cpu_percent, memory_info]):if process.info[name] target_app_name:cpu_percent process.info[cpu_percent]memory_info process.info[memory_info]rss_memory memory_info.rss / (1024 * 1024) # 转换为 MBvms_memory memory_info.vms / (1024 * 1024) # 转换为 MBprint(f应用程序 {target_app_name}CPU 使用率 {cpu_percent}%物理内存占用 {rss_memory}MB虚拟内存占用 {vms_memory}MB)time.sleep(5)