Xperf Analysis Basics(转)
FQ不易,转载
http://randomascii.wordpress.com/2011/08/23/xperf-analysis-basics/
I started writing a description of how to examine CPU Sampling data in xperf and realized that I needed a basics article to link back to. Here it is. Learn this before you go further.
Symbols
Without symbols you can’t do much, so configuring your symbol path is important. I use a variation on this batch file prior to running xperfview. Configure the “localbuilds” and “OurSymbolServer” directories appropriately, but leave the Microsoft symbol server as is.
@rem Add local build directories
set SYMS=c:\build\localbuilds
@rem Put symbol servers at the end to avoid network trips looking for local symbols.
set SYMS=%SYMS%;SRV*c:\symbols*\\OurSymbolServer\symbols
@rem Microsoft’s symbol server.
set SYMS=%SYMS%;SRV*c:\symbols*http://msdl.microsoft.com/download/symbols
set _NT_SYMBOL_PATH=%SYMS%
If this dialog keeps popping up when you load symbols in xperfview:
then it means you’ve hit a UAC (User Account Control – admin/non-admin) bug. Follow the link to solve it.
You can also configure symbols by going to Trace->Configure Symbol Paths.
You load symbols by going to Trace->Load Symbols, or right clicking and selecting Load Symbols.
It’s worth mentioning that symbols are compressed and cached to c:\symcache. This is an efficient symbol cache that is used exclusively by xperfview. Set the _NT_SYMCACHE_PATH variable if you want to configure the location. I just leave it at its default.
Zoomin’ In, Zoomin’ Out
Navigating the main window in xperfview is mostly a matter of zooming in and out. The obvious ways of doing this are in the right-click context menu. This menu lets you zoom in to the current selection, or zoom all the way out (Unzoom). I find this set of options frustrating. I like to zoom in and out a little bit. Zoom to selection is okay, I guess, but to have the only zoom-out option be “all the way out” is a bit silly.
The solution is to make sure you have a mouse with a mouse wheel. Hold down the control key and roll the wheel. That’s the way real programmers do it. I can’t use xperfview without a mouse wheel.
Enabling/Disabling/Reordering the Graphs
Xperfview defaults to having a particular set of graphs visible. The choice of graphs is biased towards people who are working on optimizing Windows itself, and is not as good a choice for those of us who are not actively working on the Windows scheduler. With that in mind, I recommend that you click on the flyout on the left side of the xperfview window and enable and disable graphs until it matches the correct set of graphs, conveniently shown here:
If you want CPU sampling by CPU, then go for it, but I think you’ll find it is usually not worth it.
In addition, you can change the order of graphs in order to get all of your favorites together. Just drag them around in this list to reorder them, and then double-click on the one you want to see.
Xperfview will remember the enabled/disabled state. That is good.
Xperfview will not remember the order of the graphs. You can’t win them all.
Selections
Selecting a region of interest in a trace is important because that lets you select which part of the trace you will invoke a summary table for. The diamonds on the CPU Scheduling graph and some other graphs are useful because they mark key points and because when selecting you can snap to them.
Once you’ve got a selection you can replicate it to other graphs by right clicking and selecting Clone Selection. This is often very useful.
That’s all folks
That’s enough for now. I’ll add more basics later if they seem worth it.
Xperf Analysis Basics(转)的更多相关文章
- Factoextra R Package: Easy Multivariate Data Analyses and Elegant Visualization
factoextra is an R package making easy to extract and visualize the output of exploratory multivaria ...
- 使用Python对Twitter进行数据挖掘(Mining Twitter Data with Python)
目录 1.Collecting data 1.1 Register Your App 1.2 Accessing the Data 1.3 Streaming 2.Text Pre-processin ...
- Mining Twitter Data with Python
目录 1.Collecting data 1.1 Register Your App 1.2 Accessing the Data 1.3 Streaming 2.Text Pre-processin ...
- Xperf Basics: Recording a Trace(转)
http://randomascii.wordpress.com/2011/08/18/xperf-basics-recording-a-trace/ This post is obsolete ...
- Xperf Basics: Recording a Trace (the easy way)(转)
http://randomascii.wordpress.com/2013/04/20/xperf-basics-recording-a-trace-the-easy-way/ Some ti ...
- An Introduction to Stock Market Data Analysis with R (Part 1)
Around September of 2016 I wrote two articles on using Python for accessing, visualizing, and evalua ...
- 课程一(Neural Networks and Deep Learning),第二周(Basics of Neural Network programming)—— 4、Logistic Regression with a Neural Network mindset
Logistic Regression with a Neural Network mindset Welcome to the first (required) programming exerci ...
- Security Testing Basics
Security Testing BasicsSoftware security testing is the process of assessing and testing a system to ...
- Basics of Algorithmic Trading: Concepts and Examples
https://www.investopedia.com/articles/active-trading/101014/basics-algorithmic-trading-concepts-and- ...
随机推荐
- Oracle Database 11G R2 标准版 企业版 下载地址(转)
转自:http://blog.itpub.net/628922/viewspace-759245/ 不需要注册,直接复制到迅雷或其他下载软件中即可下载. oracle 11.2.0.3 下载地址: L ...
- COleChangeSourceDialog不能Change Source的解决方法
在微软给的例子OClient中,有选中一个OLE对象然后Change Source的功能,但是会报错.分析了一下是这样的: void CMainView::OnOleChangeSource() ...
- docker-compose安装使用
Docker Compose的工作原理 Docker Compose将所管理的容器分为三层,工程(project),服务(service)以及容器(contaienr).Docker Compose运 ...
- Python str方法总结
1.返回第一个字母大写 S.capitalize(...) S.capitalize() -> string 1 2 3 4 >>>a = 'shaw' >>> ...
- css颜色大全-转载
FFFFFF #DDDDDD #AAAAAA #888888 #666666 #444444 #000000 #FFB7DD #FF88C2 #FF44AA #FF0088 #C10066 #A ...
- 基于bootstrap分页
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 介绍开源的.net通信框架NetworkComms框架 源码分析(十三)ThreadSafeStream
原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是 ...
- docker--wekan安装
最近因为搭建开源看板网站的需要,玩了下docker 一开始在redhat上安装docker wget http://mirrors.163.com/.help/CentOS7-Base-163.rep ...
- mysqldump操作参考
http://zhaizhenxing.blog.51cto.com/643480/134558 http://www.cnblogs.com/zeroone/archive/2010/05/11/1 ...
- Oracle 10g -- 修改DB的编码
修改DB的原因是:因为我的DB不支持中文,所以每当我向数据库表中插入一条数据的时候,中文就都变了类似于“?(是反问号)”的乱码,为了能顺利插入成功,故做了此次修改; 系统:windows XP 英文版 ...