模块:psutil
psutil是一个跨平台库,可以很轻松的为我们实现获取系统运行的进程和资源利用率等信息。
功能:主要是为了系统监控
安装:
1
2
3
4
|
wget https:
//pypi
.python.org
/packages/source/p/psutil/psutil-2
.0.0.
tar
.gz --no-check-certificate
tar
-zxvf psutil-2.0.0.
tar
.gz
cd
psutil-2.0.0
python setup.py
install
|
CPU利用率主要包括以下几部分CPU信息:
-
User time,执行用户进程的时间百分比
-
System time,执行内核进程和中断的时间百分比
-
Wait IO,由于IO等待而使CPU处于idle(空闲)状态的时间百分比
-
Idle,CPU处于idle状态的时间百分比
Psutil.cpu_times() 使用方法:
1
2
3
4
5
|
import
psutil
psutil.cpu_times(percpu
=
True
)
# 使用cpu_times 方法获取CPU完整信息,需要显示所有逻辑CPU信息,percpu = True可选
psutil.cpu_times().user
# 获取单项数据信息,如用户user 的CPU 时间比
psutil.cpu_count()
# 获取CPU 的逻辑个数,默认logical=True
psytil.cpu_count(logical
=
False
)
# 获取CPU 的物理个数
|
内存信息主要包括以下几个部分:内存信息:
-
Total(内存总数)
-
Used(已使用的内存数)
-
Free(空闲内存数)
-
Buffers(缓冲使用数)
-
Cache(缓存使用数)
-
Swap(交换分区使用数)
Psutil.virtual_memory()和psutil.swap_memory() 使用方法:
1
2
3
4
5
6
|
import
psutil
mem
=
psutil.virtual_memory()
# 获取内存完整信息
print
(mem)
mem.total
# 获取内存总数
mem.free
# 获取空闲内存数
psutil.swap_memory()
# 获取swap分区信息
|
磁盘信息主要包括以下几个部分:磁盘信息:
-
Read_count(读IO数)
-
Write_time(写IO数)
-
Read_bytes(IO读字节数)
-
Read_time(磁盘读时间)
-
Write_time(磁盘写时间)
Psutil.disk_io_counters() 使用方法:
1
2
3
4
5
|
import
psutil
psutil.disk_partitions()
# 获取磁盘完整信息
psutil.disk_usage(
'/'
)
# 获取分区(参数) 使用情况
psutil.disk_io_counters()
# 获取硬盘总的IO个数、读写信息
psutil.disk_io_counters(perdisk
=
True
)
# 'perdisk=True'参数获取单个分区IO个数、读写信息
|
网络信息主要包括以下几个部分:网络信息:
-
Bytes_sent(发送字节数)
-
Bytes_recv(接收字节数)
-
Packets_sent(发送数据包数)
-
Packets_recv(接收数据包数)
Psutil.net_io_counters() 使用方法:
1
2
3
|
import
psutil
psutil.net_io_counters()
# 获取网络总的IO信息,默认pernic=False
psutil.net_io_counters(pernic
=
True
)
# 输出每个网络接口的IO信息
|
其他系统信息:
1
2
3
4
|
import
psutil,datetime
psutil.users()
# 返回当前登录系统的用户信息
psutil.boot_time()
# 获取开机时间,以Linux时间戳格式返回
datetime.datetime.formtimestamp(psutil.boot_time()).strftime(
'%Y-%m-%d %H:%M:%S'
)
# 转换成自然时间格式
本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/2050032,如需转载请自行联系原作者
|