基准资源使用
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例外。Lang.Stringindexoutofboundsexception索引超出范围(0) java Spring引导Freemarker从2.2.0升级失败 重构Java反模式名称?包含对象的对象包含。。。等 用java处理JDBC可能出现的死锁的最佳方法 java无法访问主线程上的数据库,因为它可能会在很长一段时间内锁定UI java如何将固定大小的画布包装在边框窗格中的滚动窗格居中? java解析xsd文件后得到空结果 在html页面中表示XML文件的java socketjava对象流 sql Java越界异常数据库 JavaJBoss7.1.1不会在Mavericks上启动 Twincat ADS事件驱动读取在一段时间后停止工作(Java) java MyBatis使用生成的ID插入所有 Mojave上缺少MacOS Java控制面板 JavaGuice:如果多次注入相同的依赖项,是否注入了该依赖项的相同实例?