Python监控应用程序性能

使用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文件名
咚咚咚,编译成功
成果:
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值