python工具-内存采集展示

1. 查看某个进程的内存占用

1.1. 采集

  • 下边内存保存为 cat-memory.sh 脚本文件,赋予可执行权限
  • 执行 ./cat-memory.sh pid 会生成 pid.txt
#!/bin/bash

process=$1
out=$1'.txt'
pid=$1

echo '时间' '内存(KB)' >> $out
while true
do
	mem=`cat  /proc/$pid/status|grep -e VmRSS|awk '{VmRSS=NF-1} {print $VmRSS}'`

	echo $(date +"%m-%d-%H:%M:%S")  $mem
	echo $(date +"%m-%d-%H:%M:%S")  $mem  >> $out
	sleep 5
done

时间 内存(KB)
10-08-19:35:35 5632
10-08-19:35:40 5632
10-08-19:35:45 5632
10-08-19:35:50 5632
10-08-19:35:55 5632

1.2. 分析

  • 将下边内存保存为 show-memory.py 文件
  • 执行 python3 ./show-memory.py pid 会将 pid.txt 转化为 pid.html, 浏览器打开 pid.html 即可查看
import sys
from pyecharts import options as opts
from pyecharts.charts import Line
import pandas as pd

for argv in sys.argv[1:]:
    # data = pd.read_table('26138.txt', sep = ' ', names = ['第一列','第二列'])
    # 不设置 names,默认读取第一行作为列名
    data = pd.read_table(f"{argv}.txt", sep=" ")
    print("info", data.info())

    x_data = data["时间"].tolist()
    y_data = data["内存(KB)"].tolist()

    c = Line()
    c.add_xaxis(x_data)
    c.add_yaxis("内存", y_data)
    c.set_global_opts(title_opts=opts.TitleOpts(title="折线图-基本示例"))
    c.render(f"{argv}.html")

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值