定时记录进程的内存
本帖最后由 hegexunmeng 于 2021-7-4 12:17 编辑第一次发帖~python小萌新,欢迎提建议csdn同步链接: 地址起因:
查询内存泄漏问题,定时记录任务管理器中指定pid进程的内存情况
于是有了这段代码
# -*- encoding:utf-8 -*-
"""
CSDN:https://blog.csdn.net/wudingan?spm=1010.2135.3001.5343
查询内存泄漏问题,定时记录任务管理器中指定pid进程的内存情况
目前是每隔10s执行一次,可以自己自定义
"""
import os
import time
import multiprocessing
#打印所有进程
def getall():
for line in os.popen('tasklist').readlines():
print line.decode('gbk')
#获取指定pid的进程内存
def getonetask(pid):
pid = pid
for line in os.popen('tasklist').readlines():
if pid in line:
#print line# 这个要自己调整一下,先打印一下line, 一点点截取只剩下内存大小
global infomation
information = time.strftime("%H:%M:%S", time.localtime()) + " " + line
return information
#定时存进一个txt文档里
def saveinformation(information):
filename = 'savememory'
with open(filename, 'a') as f:
print "每隔10s去执行一次"
f.write(information)
#定时执行
def work():
while 1:
info = getonetask("33840")
saveinformation(info)
time.sleep(10)
if __name__ == '__main__':
#getall()
#infomation = getonetask("33840")# 先通过getAll()获得了自己想要的进程pid
#saveinformation(infomation)
p = multiprocessing.Process(target=work(),)
p.start()
p.deamon = True
运行结果:
页:
[1]