使用typeperf监控系统资源

  昨天在对一个程序进行内存溢出的检测,需要对该程序的内存长时间进行监控,结束后,通过excel的统计图观察内存是否处于增长趋势。针对这块的监控,很多人常用的做法就是使用windows自带的性能监控工具,呵呵,是相当的简单,不过我还是比较喜欢命令行的方式,这跟我平时喜欢搞自动化有点关系吧。

  今天就来跟大家介绍下typeperf这个命令,以及简单的常用技巧。

  关于typeperf就不详细介绍了,你就把它当作是性能监控工具(windows自带)的命令行版本就行了,微软提供的一个命令行下的监控工具,收集性能计数器性能数据。Typeperf -?可以用来查看该命令的具体帮助。

  在进行监控之前首选需要确定我们要监控的内容,是要监控内存、CPU、磁盘、网络等等?每种性能计数器都会有自己的名称,首先第一步确定我们要监控内容的性能计数器的名称。

有两种办法:

  方法一:通过性能监视器,添加我们需要的性能计数器,有些计数器需要选择对应的实例,也就是你需要监控哪个进程的性能,选择添加完计数器后,点击确定按钮。

  这时会在性能监视器主窗口显示所选择的性能计数器的数据统计趋势,右击主窗口空白处,弹出的菜单中选择“属性”菜单。

  在监视器的 属性对话框中数据选项卡里,可以很清楚的看到性能计数器具体的名称。将其一个个抄写一遍至文本文件吧,不知道能否复制,可以尝试下。

  方法二:第二种方法也是我推荐的一种方法,在命令行下使用typeperf -qx来进行过滤,前提是你需要对几类性能计数器要有所了解,知道其简单的单词拼写,这块大家简单记录下就OK了,也就那几种常用的,进程、磁盘、网络、内存等进程后期我会整理下。进程性能计数器开头都是Process,内存相关的是Memory等等。可以通过typeperf -qx导出所有的性能计数器,通过 重定向将返回结果导出到文本中,例如:typeperf -qx > all_counters.txt,在该文本中寻找你所需要的计数器吧【太多了,你得通过关键词查找的方式一遍遍过滤】。

  使用typeperf -qx执行过程中可以过滤么?答案是可以的。看下面的截图,qx参数后面有个object的选项,跟具体的计数器名称。这个名称需要自己记了。

  Typeperf -q  与typeperf -qx的区别,自己针对性的执行一遍看看吧,相信你会理解的。

  下面来举个例子,例如我想监控某个OUTLOOK进程的cpu、内存:

  1、我们这次是监控某一个具体的进程,是一个具体的实例,那么肯定使用typeperf -qx,进程的计数器名称为Process,因此执行命令typeperf -qx Process

  2、执行完后,相信你会看到很多的内容,实例都在Process后面括号中区别体现,通过任务管理器确定我们的outlook的具体进程,查看后得出进程为OUTLOOK.EXE,为大写,typeperf中对大小写敏感,这点需要注意,那么实例的名字就是OUTLOOK,对应就是Process(OUTLOOK),如何在刚才的结果中过滤出带有OUTLOOK的字符串的计数器呢?使用FIND命令配合管道,typeperf -qx Process | FIND "OUTLOOK",执行完后你会发现关于OUTLOOK这个进程的相关的性能计数器都列出来了,而且不是很多,手工复制都可以了,呵呵。

  3、接下来可以通过FIND命令继续进行过滤,例如过滤typeperf -qx Process | FIND "OUTLOOK" | FIND "Processor"

  过滤完后只有一条了,正是我们所需要的cpu的计数器。通过重定向将返回结果输出至counters.txt文件中。

  4、继续过滤与内存相关的

  继续使用重定向进行追加,大家需要注意这里使用的是追加重定向

  追加完后查看下我们的counters.txt文件内容

  5、接下来使用typeperf命令来对这些性能计数器进行监控,使用命令

  TYPEPERF -f CSV -o MyCounters.csv -si 15 -cf counters.txt -sc 240

  参数说明可参考typeperf -?

  -f:表示输出文件类型

  -o:表示输出文件名称

  -si:表示性能计数器数据采集周期(每个多少秒采集一次,注意格式)

  -cf:表示性能计数器的配置文件(就是之前我们做好的counters.txt)

  -sc:表示总共需要收集多少次

  以上命令表示每隔15秒收集一次,总共收集240次,总共耗时15*240 = 15*60*4 = 3,600 = 1小时,表示对OUTLOOK进程的CPU以及内存进行1个小时的监控。

  6、执行完后,在C:\Users\Administrator目录下会生成 MyCounters.csv文件,打开后就跟excel一样,选中一列,插入统计图表,可以非常直观的看到某一性能计数器在一小时内的走向

  本次分享结束

  最后还有一些问题,例如具体需要监控哪些内容,以及性能分析方面的问题大家可以发散思考下。监控只是一种手段,是为了方便我们接下来的分析。

时间: 2024-11-08 22:21:47

使用typeperf监控系统资源的相关文章

Linux安装rpc监控系统资源

1.rpc服务需rsh的支持,一般情况下rsh已安装.rpm -qa rsh查看.2.右键另存为http://heanet.dl.sourceforge.net/sourceforge/rstatd/rpc.rstatd-4.0.1.tar.gz下载rpc.rstatd-4.0.1.tar.gz.3.执行以下命令解压和安装tar zxvf rpc.rstatd-4.0.1.tar.gzcd rpc.rstatd-4.0.1./configure   //配置make          //编译m

【Jmeter如何监控系统资源】

用Jmeter做性能测试的时候,希望监控Linux/windows系统下的系统资源,包括CPU.内存等.但是直接解压下载的Jmeter是没有这项功能的,需要我们安装插件:JMeterPlugins-Standard-1.4.0.zip具体步骤如下: 1.下载JMeterPlugins-Standard-1.4.0.zip,将其解压. 2.将其解压文件中的JMeterPlugins-Standard.jar复制到Jmeter\apache-jmeter-3.1\lib\ext目录下. 3.重新启动

如何监控系统资源

---恢复内容开始--- 使用Loadrunner进行性能测试, 可以通过监控系统指标, 来分析系统瓶颈. 我们可以使用两种方法来添加性能指标, 一是使用系统自带性能监控, 二可以使用LoadRunner来实现. 如何使用系统自带的工具来监控性能指标. 1. 找到管理工具-性能监视器 2. 找到数据收集器-用户定义-右键新建-数据收集器- 选择手动创建- 勾选性能计数器/事件跟踪数据- 点击添加, 进入指标添加页面 - 点击确定. 这样就可以通过系统自带的工具监控系统性能指标了. 3. 在添加指

监控系统资源加邮件提醒

#!/usr/bin/bashecho "##########关于cpu##########"vmstat &>/dev/nullif [ $? -ne 0 ];thenecho "vmstat command is not found,please install it!"yum install -y procpsecho "命令已安装!请重新执行该命令"exit 0fi#us 用户使用cpu花费时间; sy 系统使用cpu花费时

查询磁盘和监控系统资源

查询磁盘和监控系统资源 查询磁盘分区状态 lsblk(list block device)命令可以查看本系统下所有磁盘和磁盘内的分区信息: 可以看到当前系统有sr0.sda装置,sda下有三个分区分别是123,输出信息的含义是: NAME是装置的文件名,MAJ:MIN是主要和次要装置代码,RM代表是否为可卸除装置,SIZE是容量,RO代表是否为只读装置,TYPE是装置类型,rom是只读存储器,disk是磁盘,part是分区:MOUNTPOINT为挂载点.·· lsblk -ip 完整路径的装置文

python监控系统资源

监控网卡流量 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 #!/usr/bin/python import re import os #get SNMP-MIB2 of the devices def getAllitems(host,oid):         sn1 = os.popen('snmpwalk -v 2c -c p

linux 监控系统资源-内存

监控内存使用量: 思路:使用free -m 提取相关数据,算出使用内存量输入到文件,并且每一次计算都与当前文件中的数据对比,大于文件中的数据则替换.保留当天最大内存使用量,每天发送邮件(可以单独写个发邮件的脚本).脚本可以写到计划任务里多长时间执行一次.也可以在脚本中加上wheel循环后台启动 Mem行的total:系统总内存 -/+ buffers/cache行的used:实际使用内存 -/+ buffers/cache行的free:程序实际可调用内存 #!/bin/bash PATH=/us

Linux命令监控系统资源状况

1. top命令: 查看进程在CPU和内存的占比 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 19672 root 20 0 3255m 587m 5328 S 0.3 15.3 985:51.34 java 1 root 20 0 19324 504 296 S 0.0 0.0 0:02.35 init 2. df命令: 查看磁盘的使用状况 文件系统 1K-块 已用 可用 已用% 挂载点 /dev/sda3 307369096 4

监控系统资源

一.uptime与w Linux 命令,显示系统已经执行了多长时间,它依次显示下列信息:当前时间.系统已经执行了多长时间.眼下有多少登陆用户.系统在过去的1分钟.5分钟和15分钟内的平均负载. uptime 命令能够用来查看server已经执行了多久,当前登录的用户有多少,以及server在过去的1分钟.5分钟.15分钟的系统平均负载值. 平均负载的最佳值是1,这意味着每一个进程都能够马上运行不会错过CPU周期.负载的正常值在不同的系统中有着非常大的区别.在单处理器的工作站中,1或2都是能够接受