模块介绍
win32pdh 是一个 Python 库,专门用于访问 Windows 性能数据。它使得用户可以通过编程方式获取系统和应用程序的性能计数器数据。该库适用于 Python 3 的版本,用户可以通过它查询系统资源的使用情况,如 CPU、内存、磁盘等。
应用场景
win32pdh 库主要应用于性能监控和分析领域。它可以用来:
- 实时监控服务器和工作站的资源使用情况。
- 调查和优化应用程序的性能瓶颈。
- 收集系统性能数据,以便进行后期分析和报告。
- 开发与性能相关的审计工具,实时跟踪系统的运行状态。
安装说明
win32pdh 库并不是 Python 的默认模块,但它是 pywin32 包的一部分。用户只需通过 pip 进行安装,命令如下:
安装完成后,就可以在 Python 中导入并使用 win32pdh 库。
用法举例
1. 示例一:获取 CPU 使用率
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| import win32pdh
counter_path = r'\\Processor(_Total)\\% Processor Time'
h_query = win32pdh.OpenQuery()
h_counter = win32pdh.AddCounter(h_query, counter_path)
win32pdh.CollectQueryData(h_query)
type_, val = win32pdh.GetFormattedCounterValue(h_counter) print(f'当前CPU使用率: {val}%')
|
此代码展示如何使用 win32pdh 库获取系统的 CPU 使用率。
2. 示例二:监控内存使用情况
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| import win32pdh
counter_path = r'\\Memory\\Available Bytes'
h_query = win32pdh.OpenQuery()
h_counter = win32pdh.AddCounter(h_query, counter_path)
win32pdh.CollectQueryData(h_query)
type_, val = win32pdh.GetFormattedCounterValue(h_counter)
available_memory_mb = val / (1024 * 1024) print(f'可用内存: {available_memory_mb} MB')
|
此代码用于获取系统可用的内存大小,并以 MB 为单位输出。
3. 示例三:实时监控磁盘读写
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| import win32pdh import time
counter_path_read = r'\\LogicalDisk(_Total)\\Disk Reads/sec' counter_path_write = r'\\LogicalDisk(_Total)\\Disk Writes/sec'
h_query = win32pdh.OpenQuery()
h_counter_read = win32pdh.AddCounter(h_query, counter_path_read) h_counter_write = win32pdh.AddCounter(h_query, counter_path_write)
while True: win32pdh.CollectQueryData(h_query) type_, val_read = win32pdh.GetFormattedCounterValue(h_counter_read) type_, val_write = win32pdh.GetFormattedCounterValue(h_counter_write) print(f'每秒读取磁盘: {val_read} 次, 每秒写入磁盘: {val_write} 次') time.sleep(1)
|
该示例演示如何实时监控系统磁盘的读写操作次数,并每秒更新一次显示。
强烈建议大家关注我的博客(全糖冲击博客),这里是一个丰富的 Python 学习资源库。我致力于分享所有 Python 标准库的使用教程,这些教程都经过精心编写,注重易懂和实用,能帮助您迅速掌握 Python 的核心概念和技术。关注我的博客,您将会获得及时的更新和优质的学习资源,提升您的 Python 编程水平,让学习变得更加高效和有趣。期待您的参与与交流!