Electronic Joint Business

Solution for E-Business

wpt

XPerf — Windows Performance Toolkit 使用简介

文章评价:

从 Windows 2000 开始,Windows 中就带了事件跟踪机制。所谓事件跟踪,是一种从各种系统组件触发事件的基础设施,只为少量的内核模式下的实体所使用。在 Windows XP 中, MOF 文件 (与 WMI 提供程序的元数据类似)被用来描述事件。在 Windows Vista 和 Windows Server 2008 中,事件用 XML 装配清单来描述事件,这个设计使得 ETW 的使用更为普遍,成百上千的新的事件提供程序( Event Proivder ) 被添加到系统中。

这些提供程序会产生什么信息呢?首先, Windows事件日志(Windows Event Log) 使用这些 ETW 提供程序生成的一部分信息(但不是全部)。因此可以获得有关系统事件的各种诊断消息。另一个提供程序是性能监视器(Performance Monitor), 特点是能够查询成组的 ETW 事件。将这些不同源的信息组织在一起并不是件容易的事。尤其利用同样的跟踪,在对系统的整体的分析和对某些特定应用的分析中不断切换的时候。

这种整合的需求最终导致了 Windows 性能工具包(Windows Performance Toolkit, WPT) 的诞生,它致力于数据收集和集成,是正确地解释和利用 ETW 输出不可缺少的工具。特别的是,它能用一致的方式查看大量的信息,让你能够对系统内正发生的事情有一个整体印象。另外,通过利用内核采样中断,你可以使用全局的采样事件探查器 (包括调用堆栈分析)。更棒的是,它是完全免费的。

下面让我们来看看 WPT 的功能。从 Windows 7 开始,WPT 被包括在 Windows SDK 中,你需要下载 Windows SDK 并安装它。

>>> 阅读全文

 

, , , , , , , ,

GPUView 的使用

文章评价:
GPUView 是我(原文作者: Matt )和 Steve Pronovost 在微软实习期间开发的工具,该工具可以用来检查电脑上的图形应用程序、Windows 图形内核、 显卡驱动程序、 显卡和 CPU 内核间的交互。和一些标准分析工具 IceCap、Vtune 或图形 API 分析工具如 PIX 不同,该工具的视角别具一格,它密切关注 CPU 和 GPU 间的交互,从而判断应用程序的性能是受限于 CPU 、GPU 或者二者,进而了解需要对哪一部分进行调整才能提高资源利用率。

GPUView 可以帮助我们解决以下问题:1

  • 为什么会错过垂直同步刷新?
  • 在 GPU 渲染新的图形表面是否占住了 GPU 导致帧丢失?
  • 是应该优化 CPU 代码来改善性能,还是应该降低 GPU 负担?
  • 在显示帧之间 GPU 是否已经早早收到图形任务,还是 GPU 一直空闲在那里等待 CPU 代码?

在本文的第一部分我们会关注如何使用并了解 GPUView ,在文章的第二部分我们会看一些实际的例子,学习用 GPUView 来查看某些实际游戏的性能问题。

GPUView 是 Windows 7 SDK 的一部分。下载并安装好 SDK 之后,你可以到“ C:\\Program Files\\Microsoft SDKs\\Windows\\v7.0\\bin” 目录下执行 wpt_x64.msi 或者 wpt_x86.msi 来安装带有 GPUView 的 Windows Performance Toolkit。

要使用 GPUView,你需要用管理员权限打开命令行,然后运行 Log.cmd 来启动事件日志。再次运行 Log.cmd 就会停止日志记录。Log.cmd 会生成 Windows 的几个事件跟踪 (*.etl) 文件;这些不同事件流会被合并到单个文件中,即 Merged.etl,GPUView 会读取该文件。下面是一些示例事件:

>>> 阅读全文

 

, ,

Windows 开/关转换性能分析

简介
Windows 开/关转换(即启动、休眠、关机过程)的性能对用户体验是至关重要的,因为它提高了用户对计算机的感受程度,并提供一致的开/关机体验。

对于以下的用户场景,开/关机转换性能非常重要:

  • 用户将硬件和操作系统的启动时间作为主要的性能指标。
  • 系统更新可以保护 Windows 用户并及时引入新功能,但用户对漫长的更新和重新启动周期感到沮丧。过长的关机时间会让用户感到烦躁,并增加了系统管理员的服务时间。较长的关机时间,也对移动系统的可靠性产生不利影响,例如增加了因电力不足而意外关机的风险。
  • 移动用户希望他们的计算机的能迅速转换到睡眠状态。睡眠性能对保持数据的完整性是非常重要的。如果从休眠状态恢复的时间太长,用户将忽略睡眠功能,而是直接关闭计算机。

本文会详细介绍 Windows 的开/关转换,重点介绍每个转换阶段的性能漏洞,并展示了如何通过使用 Windows 性能工具包(WPT)识别和分析这些问题。性能分析往往是必要的,因为诸如应用程序、驱动程序、服务和设备等这些系统扩展,如果没有经过优化,都会对开/关转换时间产生负面影响。优化不良的系统扩展通常由下面原因导致:

  • 延迟
  • 缺乏并行
  • 过多的资源消耗

本文可以帮助用户大大减少开/关转换时间。我们将这些性能优化应用到了实验室的许多系统上,在一些系统中,启动到桌面的时间减少了将近50%。某些系统上,开机时间减少到 40 到 50 秒。但是转换过程中的驱动程序,服务,或应用程序的影响是各不同的,因此你的测试结果也不尽相同。

表1是某四台真实机器的 Windows 7 的启动时间。这一数据显示了从BIOS POST 结束后到 Post Boot 阶段(系统空闲状态)所经过时间。启动阶段在本文后面的“引导转换”一节中会进一步说明。

>>> 阅读全文

 

, , , , ,