参考:
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) )
来源:oschina
链接:https://my.oschina.net/u/4301161/blog/4756606