Python psutil 库查看当前进程的内存消耗及系统内存情况

笑着哭i 提交于 2020-11-28 09:27:07

参考:
https://www.liaoxuefeng.com/wiki/1016959663602400/1183565811281984
https://www.cnblogs.com/zhangxinqi/p/9106265.html
https://blog.csdn.net/qq_40723803/article/details/105097401


psutil 是个跨平台库,主要应用于信息监控,分析和限制系统资源及进程的管理,能够轻松实现获取系统运行的进程和系统利用率,包括CPU、内存、磁盘、网络等信息。它实现了同等命令命令行工具提供的功能,如:ps、top、lsof、netstat、ifconfig、who、df、kill、free、nice、ionice、iostat、iotop、uptime、pidof、tty、taskset、pmap等。目前支持32位和64位的linux、windows、OS X、FreeBSD和Sun Solaris等操作系统。

安装

git clone https://github.com/giampaolo/psutil.git
cd psutil
python3 setup.py install

pip3 install psutil

内存信息

mem = psutil.virtual_memory() #获取内存完整信息

#total:总物理内存
#available:可用的内存
#used:使用的内存
#free:完全没有使用的内存
#active:当前正在使用的内存
#inactive:标记为未使用的内存
#buffers:缓存文件系统元数据使用的内存
#cached:缓存各种文件的内存
#shared:可以被多个进程同时访问的内存
#slab:内核数据结构缓存的内存

psutil.swap_memory() #获取swap内存信息

#total:以字节为单位的总交换内存
#used:以字节为单位使用交换内存
#free:以字节为单位的可用交换内存
#percent:使用百分比
#sin:系统从磁盘交换的字节数
#sout:系统从磁盘换出的字节数

系统进程管理

import psutil
p = psutil.Process(1265)  #实例化一个Process对象,参数为进程PID
p.name()  #进程名
p.uids()  #进程UID信息
p.gids()  #进程GID信息
p.memory_info()  #进程内存rss、vms信息
p.io_counters()  #进程IO信息包括读写IO数及字节数
p.num_threads()  #进程开启的线程数
p.memory_percent()  #进程内存利用率

当前进程的内存消耗

import psutil
import os

print ('当前进程的内存使用:',psutil.Process(os.getpid()).memory_info().rss)
print ('当前进程的内存使用:%.4f GB' % (psutil.Process(os.getpid()).memory_info().rss / 1024 / 1024 / 1024) )
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!