python模块psutil

psutil是一个跨平台库,能够轻松的获取系统运行的进程和系统利用率等信息,主要用来系统监控,分析和限制系统资源及进程的管理

1安装psutil

pip install psutil

2.获取系统性能信息

2.1 cpu相关信息

In [9]: psutil.cpu_times() percpu=True 可显示cpu完整信息
Out[9]: scputimes(user=271324.62, nice=0.0, system=427118.0, idle=4560010.66)
显示cpu的逻辑个数, logical=False  获取cpu物理个数
In [10]: psutil.cpu_count()
Out[10]: 4

2.2 内存相关信息

In [12]: psutil.virtual_memory()  获取内存
Out[12]: svmem(total=8589934592, available=1753522176, percent=79.6, used=7300272128, free=24858624, active=1803165696, inactive=1728663552, wired=3768442880)

In [13]: psutil.swap_memory()    获取swap
Out[13]: sswap(total=4294967296, used=3049521152, free=1245446144, percent=71.0, sin=80035831808, sout=5820002304)

2.3 磁盘相关信息

In [14]: psutil.disk_partitions()   获取磁盘完整信息
Out[14]:
[sdiskpart(device='/dev/disk0s2', mountpoint='/', fstype='hfs', opts='rw,local,rootfs,dovolfs,journaled,multilabel'),
 sdiskpart(device='/dev/disk0s3', mountpoint='/Volumes/Recovery HD', fstype='hfs', opts='rw,local,dovolfs,dontbrowse,journaled,multilabel')]

In [15]: psutil.disk_usage('/')   获取根分区的使用
Out[15]: sdiskusage(total=499248103424, used=158655684608, free=340330274816, percent=31.8)

In [16]: psutil.disk_io_counters() 获取磁盘的总io个数  perdisk=True  获取单个分区的io个数
Out[16]: sdiskio(read_count=8680322, write_count=7139040, read_bytes=168102211584, write_bytes=193271484416, read_time=99373951, write_time=65739995)

2.4 网络相关信息

psutil.net_io_counters() 获取网络总的io信息,pernic=True 输出每个网络接口的io信息
Out[17]: snetio(bytes_sent=10608614400, bytes_recv=17692616704, packets_sent=82676303, packets_recv=59774654, errin=0, errout=0, dropin=0, dropout=0)

2.5 其他系统信息

In [18]: psutil.users()   返回当前登录系统的用户信息
Out[18]:
[suser(name='carlos', terminal='console', host=None, started=1543456384.0, pid=95),
 suser(name='carlos', terminal='ttys001', host=None, started=1543832192.0, pid=7707),
 suser(name='carlos', terminal='ttys003', host=None, started=1543995648.0, pid=17771),
 suser(name='carlos', terminal='ttys002', host=None, started=1543995392.0, pid=17464)]

In [19]: psutil.boot_time()   获取开机时间  以linux时间戳显示
Out[19]: 1543456000.0

\3. 进程管理

3.1进程信息

psutil.pids() 列出所有进程pid

p =psutil.Process(pid) 实例化一个Process对象,参数为PID

p.name() 进程名

p.exe() 进程的bin执行路径

p.cwd() 工作路径

p.status() 进程运行状态

p.create_time() 进程创建时间

p.uids() 进程uid信息

p.gids() 进程gid信息

3.2 popen

popen作用是获取用户启动的应用程序进程信息�程序进程信息


python模块psutil
http://www.jcwit.com/article/336/
作者
Carlos
发布于
2018年12月14日
许可协议