python工具-内存采集展示

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

  • 1. 查看某个进程的内存占用
    • 1.1. 采集
    • 1.2. 分析

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")

python工具-内存采集展示_第1张图片

你可能感兴趣的:(工具类,python,开发语言)