使用psutil查看Python脚本的内存实时开销情况

psutil 是一个很方便的和系统交互的库,可以查看程序运行中的各种运行状态。

#!/usr/bin/python
# -*- coding: utf-8 -*-
import psutil
import os
import sys
import time

pid = os.getpid()

p = psutil.Process(pid)
print 'Process info:'
print 'name: ', p.name()
print 'exe:  ', p.exe()

data = []

while True:
    data += list(range(100001))
    info = p.memory_full_info()
    memory = info.uss / 1024. / 1024.
    print 'Memory used: {:.2f} MB'.format(memory)
    if memory > 40:
        print 'Memory too big! Exiting.'
        sys.exit()

    time.sleep(1)

上面这个脚本可以方便的查看该程序的内存占用情况,其中 memory_full_info() 方法会返回很详尽的内存消费情况

其中:
VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存)
PSS- Proportional Set Size 实际使用的物理内存(比例分配共享库占用的内存)
USS- Unique Set Size 进程独自占用的物理内存(不包含共享库占用的内存)

一般来说内存占用大小有如下规律:VSS >= RSS >= PSS >= USS

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容