基准资源使用
bench的Python项目详细描述
监控流程资源使用情况
工作台旨在成为具有以下功能的便捷工具:
-监控CPU时间(用户时间、系统时间、实时)
-监视内存使用情况(虚拟内存使用情况、常驻内存使用情况)
-输出到tsv(制表符分隔的文件)
-输出基准度量
-随着时间的推移可视化性能指标(内存消耗量)
示例
我们在下面展示了几个例子。请注意,所有输出都是 为演示而制表。
- 例1:简单命令。
这将启动进程{em1}$sleep2秒。表格输出
下面是实际的命令:
monitor.py sleep 2 2>&1 |column -t-s$'\t'.
如果您只运行monitor.py sleep 2,则将取消制表符
标准错误(stderr)中的输出。
$> monitor.py sleep 2 pid ppid utime stime rtime rss vms maxRss maxVms avgRss avgVms cwd cmd 133692 133675 0.0 0.0 1.9368159771 774144 6066176 774144 6066176 774144.0 6066176.0 /home/zhanxw/mycode/bench/scripts sleep 2
- 示例2:采样间隔等于 0.1秒
本例将使用shell启动3个进程:sleep 2, sleep 4和seq 1000000。你可以看到板凳可以监视所有4个 一起处理。
$> monitor.py sh -c 'sleep 2 & sleep 4 & seq 1000000 >/dev/null & wait' pid ppid utime stime rtime rss vms maxRss maxVms avgRss avgVms cwd cmd 135004 134985 0.0 0.0 3.9532430172 798720 4558848 798720 4558848 798720.0 4558848.0 /home/zhanxw/mycode/bench/scripts sh -c sleep 2 & sleep 4 & seq 10000000 >/dev/null & wait 135006 135004 0.0 0.0 3.95348381996 655360 6066176 655360 6066176 655360.0 6066176.0 /home/zhanxw/mycode/bench/scripts sleep 4 135005 135004 0.0 0.0 1.83160495758 774144 6066176 774144 6066176 774144.0 6066176.0 /home/zhanxw/mycode/bench/scripts sleep 2 135007 135004 0.05 0.0 0.0599648952484 720896 6090752 720896 6090752 720896.0 6090752.0 /home/zhanxw/mycode/bench/scripts seq 10000000
- 示例3:生成外部文件的性能指标
这里我们用了一个小程序,burncpu。它将保持CPU运行 几秒钟。它的源代码在src/下。
选项-t将启用输出跟踪。也就是说 时间停止,每个进程的性能指标将输出到 标准错误以及一个单独的逗号分隔文件, $prefix.trace.csv。
选项-g将生成一个包含多个 子图,包括每个进程的计时、内存消耗 对于每个进程,以及运行的进程的内存消耗 时间。
选项-o将指定输出前缀。默认值将 是bench,意思是,您将得到bench.csv。你可以覆盖 使用-o选项获得此值。
$> monitor.py -t -g -o burnCpu ./burnCpu pid ppid utime stime rtime rss vms cwd cmd 135471 135454 0.04 0.0 0.0441780090332 1449984 12984320 /home/zhanxw/mycode/bench/scripts ../src/burnCpu 135471 135454 0.2 0.0 0.205282926559 1449984 12984320 /home/zhanxw/mycode/bench/scripts ../src/burnCpu 135471 135454 0.38 0.0 0.381079912186 1449984 12984320 /home/zhanxw/mycode/bench/scripts ../src/burnCpu ...
附加结果存储在中的burncpu.csv,burncpu.trace.csv中 逗号分隔格式(CSV)。
burncpu.csv文件内容
pid,ppid,utime,stime,rtime,rss,vms,maxRss,maxVms,avgRss,avgVms,cwd,cmd 144433,144416,5.4,0.0,5.40555810928,1404928,12984320,1404928,12984320,1404928.0,12984320.0,/home/zhanxw/mycode/bench/scripts,../src/burnCpu
burncpu.trace.csv文件内容
pid,ppid,utime,stime,rtime,rss,vms,cwd,cmd 144433,144416,0.03,0.0,0.0423669815063,1404928,12984320,/home/zhanxw/mycode/bench/scripts,../src/burnCpu 144433,144416,0.19,0.0,0.20046210289,1404928,12984320,/home/zhanxw/mycode/bench/scripts,../src/burnCpu 144433,144416,0.36,0.0,0.373480081558,1404928,12984320,/home/zhanxw/mycode/bench/scripts,../src/burnCpu ...
当指定-goptioned时,bench将生成几个 文件burncpu.trace.csv中的性能度量:
推荐PyPI第三方库
- 热门话题
- java变量始终存储0值。为什么? 如何使用Java/REST将Azure blob从一个存储容器移动到另一个存储容器? java将commons DBCP从1.2升级到1.4,我应该害怕吗? java如何使用分隔符拆分字符串? java使用数组读取json对象 java在groovy中切片字符串 交换数组java的两个邻域元素 java移动用于确定字符串是否为回文的逻辑 java Android应用程序在一个活动中崩溃 java Sparkjava将webapp文件夹设置为静态资源/模板的文件夹 java复杂条件表达式,用户易用。 java如何仅在表存在时从表中选择值 java I无法将数据从Recyclerview传递到其他活动 java数据结构最佳设计(大数据) java Android从DatePickerDialogFragment中删除日历视图 java将数据从Firebase获取到片段 数组。sort()在java中运行不正常