使用psutil模块监控应用程序性能,直接上代码
输入进程号获取应用的一些cpu内存信息
import psutil
import time
def output(pid):
p = psutil.Process(pid)
prc_name = p.name()
prc_status = p.status() #进程状态
cpu = p.cpu_percent(interval=1) #cpu占比
info = p.memory_info() #进程内存rss,vms信息
rss = round(info.rss / 1024 / 1024, 2)
vms = round(info.vms / 1024 / 1024, 2)
uss = p.memory_full_info()
uss = round(uss.uss / 1024 / 1024, 2)#进程内存USS信息
new_time = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print(new_time, prc_name, uss, rss, vms, cpu, prc_status)
return [new_time, prc_name, uss, rss, vms, cpu, prc_status]
下面是写入到excel中
import xlwt
import Data.new
import time
def get_pid():
pid = int(input('请输入需要监控程序的PID'))
file_name = time.strftime('%Y%m%d%H%M%S', time.localtime())
return [pid, file_name]
def write_excel():
try:
a = get_pid()
pid = a[0]
file_name = a[1]
f = xlwt.Workbook() # 创建工作簿
'''
创建第一个sheet:
sheet1
'''
sheet1 = f.add_sheet(u'sheet1', cell_overwrite_ok=True)
row0 = [u'日期', u'进程名', u'内存(uss)', u'内存(rss)', u'内存(vms)', u'cpu占比', u'进程状态']
for i in range(0, len(row0)):
sheet1.write(0, i, row0[i])
for c in range(1, 99999):
args = Data.new.output(pid)
time.sleep(1)
for j in range(0, 7):
sheet1.write(c, j, args[j])
f.save(str(file_name)+'.xlsx') # 保存文件
except Exception as e:
print(e)
time.sleep(2)
if __name__ == '__main__':
write_excel()
接下来编译成exe程序方便使用
使用使用PIP安装pyinstaller
在py文件路径下,cmd 使用命令pyinstaller --console --onefile --uac-admin .py文件名
咚咚咚,编译成功
成果: