[Python Study Notes] psutil模块

系统性能信息模块psutil

  psutil是一个跨平台库,能够轻松实现获取系统运行的进程和系统利用率(CPU,内存,磁盘,网络等)信息,主要应用于系统监控,分析和限制系统资源及进程的管理,它实现了同等命令行工具提供的功能,如ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice等.支持32位,和64位的Linux,Windows,OS X,FreeBSD等操作系统。

获取系统性能信息

 1 1 cpu信息
 2 #Linux系统cpu利用率有以下几个部分
 3 #User Time,执行用户进程的时间百分比
 4 #System Time,执行内核进程和中断的时间百分比
 5 #Wait IO,由于IO等待使cpu处于idle(空闲)状态的时间百分比
 6 #Idle,cpu处于空闲状态的时间百分比
 7
 8 >>> import psutil
 9 #获取cpu完成信息
10 >>> psutil.cpu_times()
11 scputimes(user=29.36, nice=0.0, system=26.59, idle=9619.35, iowait=64.78, irq=0.5, softirq=1.67, steal=0.0, guest=0.0)
12
13 #获取用户user的cpu时间比
14 >>> psutil.cpu_times().user
15 34.54
16
17 #获取cpu逻辑个数
18 >>> psutil.cpu_count()
19 4
20
21 #获取cpu物理个数
22 >>> psutil.cpu_count(logical=False)
23 4
24
25 2 内存信息
26 #Linux系统的内存利用率信息涉及
27 #total 内存总数
28 #used 已使用的内存数
29 #free 空闲内存数
30 #buffers 缓冲使用数
31 #cache 缓存使用数
32 #swap 交换分区使用数 等
33 #使用 psutil.virtual_memory()与psutil.memory()方法获取
34
35 #获取内存完整信息
36 >>>mem = psutil.virtual_memory()
37 >>> mem
38 svmem(total=1961488384, available=1483986944, percent=24.3, used=341475328, free=941473792, active=677801984, inactive=212774912, buffers=32038912, cached=646500352, shared=4116480)
39
40 #获取内存总数
41 >>> mem.total
42 1961488384
43
44 #获取空闲内存数
45 >>> mem.free
46 941473792
47
48 #获取SWAP分区信息
49 >>> psutil.swap_memory()
50 sswap(total=2147475456, used=0, free=2147475456, percent=0.0, sin=0, sout=0)
51
52 3 磁盘信息
53 #磁盘利用率使用psutil.disk_usage()方法获取
54 #IO信息
55 #read_count 读IO数
56 #write_count 写IO数
57 #read_bytes IO读字节数
58 #write_bytes IO写字节数
59 #read_time 磁盘读时间
60 #write_time 磁盘写时间
61 #使用psutil.disk_io_counters()获取
62
63 #获取磁盘完整信息
64 >>> psutil.disk_partitions()
65 [sdiskpart(device=‘/dev/sda3‘, mountpoint=‘/‘, fstype=‘ext4‘, opts=‘rw‘), sdiskpart(device=‘/dev/sda1‘, mountpoint=‘/boot‘, fstype=‘ext4‘, opts=‘rw‘)]
66
67 #获取/分区使用情况
68 >>> psutil.disk_usage(‘/‘)
69 sdiskusage(total=18506760192, used=4438568960, free=13128093696, percent=25.3)
70
71 #获取硬盘总IO数
72 >>> psutil.disk_io_counters()
73
74 4 网络信息
75 #bytes_sent 发送字节数
76 #bytes_recv 接收字节数
77 #packets_sent 发送数据包数
78 #packest_recv 接收数据包数
79 #使用psutil.net_io_counters()获取
80 >>> psutil.net_io_counters()
81
82
83 5 其他系统信息
84 #psutil模块还支持获取用户登录,开机时间等信息
85 #显示当前登录系统的用户信息
86 >>> psutil.users()
87
88 #获取开机时间
89 >>> psutil.boot_time()

系统进程管理方法

 1 #列出所有进程的PID
 2 >>> psutil.pids()
 3
 4 #实例化一个Process对象,参数为一个PID
 5 >>>p = psutil.Process(3197)
 6
 7 #进程名
 8 >>> p.name()
 9 ‘python3‘
10
11 #进程bin路径
12 >>> p.exe()
13 ‘/opt/python3/bin/python3.5‘
14
15 #进程工作绝对路径
16 >>> p.cwd()
17
18 #进程状态
19 >>> p.status()
20
21 #进程创建时间
22 >>> p.create_time()
23
24 #uid信息
25 >>> p.uids()
26
27 #gid信息
28 >>> p.gids()
29
30 #进程cpu时间,包括user,system两个时间
31 >>> p.cpu_times()
32
33 #进程内存利用率
34 >>> p.memory_percent()
35
36 #进程内存rss,vms信息
37 >>> p.memory_info()
38
39 #进程IO信息
40 >>> p.io_counters()
41
42 #进程开启的线程数
43 >>> p.num_threads()

原文地址:https://www.cnblogs.com/liu66blog/p/8446172.html

时间: 2024-10-09 15:35:07

[Python Study Notes] psutil模块的相关文章

python笔记之psutil模块

收集教程 http://www.cnblogs.com/xiao1/p/6164204.html 实战教程 安装psutil模块 pip2 install psutil 实战代码 #encoding=utf-8 import psutil print psutil.cpu_times() print psutil.disk_partitions() print psutil.virtual_memory()

[Python Study Notes]正则表达式

正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python 语言拥有全部的正则表达式功能. compile 函数根据一个模式字符串和可选的标志参数生成一个正则表达式对象.该对象拥有一系列方法用于正则表达式匹配和替换. re 模块也提供了与这些方法功能完全一致的函数,这些函数使用一个模式字符串做为它们的第一个参数. 本章节主要介绍Python中常用

[Python Study Notes]计算cpu使用率

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' >>文件: cpu使用率.py >>作者: liu yang >>邮箱: [email protected] ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

[Python Study Notes]计算cpu使用率v0.1

V0.1 更新日志: 1.加入平台判断,支持windows与linux 2.自动清屏显示,显示更加直观 ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' >>文件: cpu使用率.py >>作者: liu yang >>邮箱: [email protected] ''''''''''''''''''''''''''''''

[Python Study Notes]磁盘分区和io性能

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' >>文件: 磁盘信息.py >>作者: liu yang >>邮箱: [email protected] ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

[Python Study Notes]内存信息

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' >>文件: 内存信息.py >>作者: liu yang >>邮箱: [email protected] ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

[Python Study Notes]电池信息

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' >>文件: 电池信息.py >>作者: liu yang >>邮箱: [email protected] ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

[Python Study Notes]cpu信息

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' >>文件: cpu信息.py >>作者: liu yang >>邮箱: [email protected] '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

[Python Study Notes]进程信息(丁丁软件监控进程,http-post)

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' >>文件: 进程信息.py >>作者: liu yang >>邮箱: [email protected] ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''