[新闻稿存档 ^][< 第 6 卷第 1 号][第 7 卷第 1 号 >]

Systems Internals 通讯第 6 卷,第 2 号

http://www.sysinternals.com
版权所有 (C) 2004 Mark Russinovich


2004 年 7 月 30 日 - 本期内容:

  1. 编辑

    • Dave Solomon 客座文章:使用进程资源管理器挖掘线程详细信息
  2. SYSINTERNALS 最近更新

    • 工具更新
    • Sysinternals 是 Microsoft Windows XP 社区网站
  3. 征集 SYSINTERNALS 成功案例

    • 向我们发送成功案例,赢取 Sysinternals T 恤!
  4. 杂志文章

    • PsExec
    • 内存优化恶作剧
  5. WINDOWS 内部和高级故障排除实践课程

    • 旧金山 - 9 月 27 日 - 10 月 1 日
  6. MARK 的演讲时间表

    • TechMentor
    • Windows 连接
    • Microsoft IT 论坛

Sysinternals 通讯由 Winternals Software 赞助,网址为 http://www.winternals.com. Winternals 为 Microsoft Enterprise 提供智能恢复。

即将发布的 Windows XP Service Pack 2 将带来许多好处,但可能会导致 OS 和应用程序中出现意外或不可预见的行为。 通过 Winternals 恢复管理器,可以安全、快速地回滚受修补程序和 Service Pack 不利影响的系统,即使系统已变得无法启动也是如此。 要详细了解恢复管理器并请求评估 CD,请访问:http://www.winternals.com/es/solutions/recoverymanager.asp

编辑

Dave Solomon 和我仍在为下一版 "Inside Windows 2000"(被称为 "Windows Internals",第 4 版)努力,期望在未来几周内完成手稿。 这本书涵盖 Windows 2000、Windows XP 和 Windows Server 2003,与第三版相比增长约 20%。 我们认为这本书比上一版更有价值,因为除了扩展现有材料并新增文本以涵盖 XP 和 2003 年更改外,我们还添加了故障转储分析、系统启动、内存、CPU、文件系统和注册表等主题的故障排除材料。

由于我把时间集中在完成这本书上,因此此新闻稿很简短,这本书完成后,我将继续定期发布新闻稿。 与此同时,我还添加了 Dave Solomon 的客座文章,其中介绍了比我在上一篇新闻稿中介绍的更高级的进程资源管理器使用方法。

请享受该新闻稿并把它传递给你认为会觉得它很有趣的人!

  • Mark Russinovich

使用进程资源管理器挖掘线程活动

作者:Dave Solomon (daves@..., http://www.solsem.com)

进程资源管理器提供对进程内线程活动的轻松访问。 如果正在尝试确定为什么承载多个服务(例如 Svchost.exe、Dllhost.exe、Inetinfo.exe 或系统进程 )的进程正在运行或进程挂起,这一点尤其重要。

要查看进程中的线程,请选择进程并打开进程属性(双击进程或点击“进程->进程属性”菜单项)并点击“线程”选项卡。这会显示进程中的线程列表、消耗的 CPU 百分比(基于配置的刷新间隔)、到线程的上下文切换数以及线程启动地址。 可以按这三列中的任何一个进行排序。 选择列表中的每个线程时,进程资源管理器会显示线程 ID、启动时间、状态、CPU 时间计数器、上下文切换数以及基优先级和当前优先级。 有终止按钮将终止单个线程,但应谨慎使用。

新建的线程以绿色突出显示,退出的线程以红色突出显示(可以使用“选项->配置突出显示”菜单项配置突出显示持续时间)。 这可能有助于发现进程中发生的不必要的线程创建(通常,线程应该在进程启动时创建,而不是每次在进程内处理请求时创建)。

上下文切换增量表示线程在为进程资源管理器配置的刷新之间开始运行的次数,并且是确定线程活动而不是消耗的 CPU 百分比的不同方式,由于许多线程运行的时间很短,因此当间隔时钟定时器中断发生时,它们很少(如果有)是当前正在运行的线程,因此不会对其 CPU 时间收费。

线程启动地址以 "module!function" 的形式显示,其中模块是 .EXE 或 .DLL 的名称。 函数名称依赖于对模块的符号文件的访问权限,如果将进程资源管理器配置为使用 Microsoft 符号服务器,可获得该权限(请参阅帮助,包括 Microsoft Debugging Tools for Windows - 可从 Microsoft 网站http://www.microsoft.com/whdc/devtools/debugging/default.mspx).下载) 如果不确定模块是什么,请按模块按钮。 这会为包含线程的启动地址(例如 .EXE 或 .DLL)的模块打开资源管理器文件属性窗口。 对于 Windows CreateThread函数创建的线程,进程资源管理器显示传递给CreateThread的函数,而不是实际的线程启动函数。 这是因为所有 Windows 线程都在公共进程或线程启动包装函数(BaseProcessStartBaseThreadStart Kernel32.dll)中启动。 如果进程资源管理器显示实际的启动地址,进程中的大多数线程似乎都在同一地址启动,这对尝试了解线程正在执行的代码没有帮助。

但是,显示的线程启动地址可能没有足够的信息来查明线程正在执行的操作以及进程内哪个组件负责线程消耗的 CPU。 如果线程启动地址是泛型启动函数,则尤其如此(例如,如果函数名称未指示线程实际执行的操作)。 在这种情况下,检查线程堆栈可能会回答该问题。 要查看线程的堆栈,请双击感兴趣的线程(或将其选中,然后按“堆栈”按钮)。 进程资源管理器显示线程的堆栈(用户和内核 - 如果线程处于内核模式)。 虽然用户模式调试器(Windbg、Ntsd 和 Cdb)允许附加到进程并显示线程的用户堆栈,但进程资源管理器只需点击一下按钮即可显示用户和内核堆栈。 还可以使用 Sysinternals 中的 Livekd 检查用户和内核线程堆栈,但它更难使用;请注意,在本地内核调试模式下运行 Windbg(仅在 Windows XP 或 Windows Server 2003 上受支持)不显示线程堆栈。

[Mark 的个人笔记 - 这帮助我解决了为什么 Powerpoint 每次启动时都挂起一分钟的问题。 我使用进程资源管理器查看了 Powerpoint 进程中一个线程的堆栈;它正在等待连接到网络打印机的呼叫;事实证明,我与网络打印机的连接没有响应,并且由于 Microsoft Office 应用程序在进程启动时连接到所有配置的打印机,因此 Powerpoint 被“挂起”,直到尝试连接到打印机超时。删除与打印机的连接后,问题就消失了。]

SYSINTERNALS 最近更新

工具更新

自去年 4 月上一份新闻稿以来,许多工具都已更新。 下面是增强功能的摘要:

进程资源管理器

进程资源管理器是任务管理器的替换品(甚至可以将任务管理器完全替换为进程资源管理器“选项”菜单中的选项) 。

  • 进程属性上的“TCP/IP”选项卡显示 TCP 和 UDP 连接;更改以颜色突出显示,以便轻松查看新的和关闭的连接
  • AMD64 系统的 64 位版本
  • 支持在 SMT(超线程)和 SMP 系统上设置进程关联掩码
  • 显示更新性能增强功能

http://www.sysinternals.com/ntw2k/freeware/procexp.shtml

DebugView

DebugView 是开发人员实用工具,允许捕获用户模式和内核模式调试输出,无需本地或跨网络调试器。

  • 更大的内核模式和用户缓冲区
  • 更多的突出显示筛选器
  • 日志文件包装
  • 支持 Windows XP SP2 内核调试输出
  • 当它看到特殊的“清除输出”调试字符串时,清除输出

http://www.sysinternals.com/ntw2k/freeware/debugview.shtml

Pendmoves

Pendmoves 是新的 Sysinternals 实用工具,用于显示计划在系统上进行下一次启动的文件移动和删除命令。

http://www.sysinternals.com/ntw2k/source/misc.shtml#pendmoves

Adrestore

Adrestore 是命令行实用工具,它利用 Windows Server 2003 Active Directory (AD) "tombstoning",为 AD 对象提供有限的取消删除功能。

http://www.sysinternals.com/ntw2k/source/misc.shtml#adrestore

蓝屏屏幕保护程序

此屏幕保护程序模拟死亡蓝屏,现在支持多监视器系统和 Windows Server 2003。

http://www.sysinternals.com/ntw2k/freeware/bluescreensaver.shtml

LogonSessions

此新的命令行实用工具显示系统上登录会话的列表(包括网络、交互式和批处理),并显示每个会话中运行的进程。

http://www.sysinternals.com/ntw2k/source/misc.shtml#logonsessions

Pstools

Pstools 套件由 11 个在本地和远程工作的管理命令行工具组成。 其中许多工具在过去几个月中已更新,包括对可在命令行或文本文件中指定的多个计算机系统的支持。

http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

Autoruns

自动运行显示最全面的 Windows 注册表和文件系统位置列表,应用程序可以使用这些位置将自身配置为在启动过程中自动启动。

  • 文件系统和注册表位置现在跨多个列,以便于阅读
  • 用于仅显示非 Microsoft 条目的选项,便于在登录时轻松查看配置为启动的非 MS 软件
  • 现在可以禁用条目而不将其从注册表中删除(使自动运行现在成为 Msconfig 的超集)
  • 用于显示配置为在启动时启动的服务的选项

http://www.sysinternals.com/ntw2k/freeware/autoruns.shtml

除了工具更新之外,还对技术文章进行了更新:

Boot.ini 选项参考

此参考现在包括 Windows XP 和 Windows Server 2003 中添加的 boot.ini 开关。

http://www.sysinternals.com/ntw2k/info/bootini.shtml

SYSINTERNALS 是 MICROSOFT WINDOWS XP 社区网站

多年来,Sysinternals 一直是 Microsoft.com 上 Windows XP Embedded 的社区网站,现在我自豪地宣布,Microsoft 也已将 Sysinternals 设为 Windows XP 专家区页面上的社区网站:

http://www.microsoft.com/windowsxp/expertzone/default.mspx

征集 SYSINTERNALS 成功案例!

在我的研讨会和会议演示文稿中,观众喜欢听到真实的成功案例,所以如果你曾使用 Sysinternals 工具进行故障排除,我很乐意倾听。 当你通过 mark@ 给我发送案例后...我将让你参加每月抽奖活动,赢取限量版绝版 Sysinternals T 恤。 请尽可能详细地说明如何使用 Sysinternals 工具解决问题,如果可能且适用,请发送屏幕截图和/或日志文件(Filemon 和 Regmon 都可以将其输出保存到文本文件)。

杂志文章

PsExec

我为 7 月问题撰写的这篇文章目前仅适用于 Windows 和 .NET 杂志的订阅者。 它介绍了高级 Psexec 用法,并介绍了它的工作原理以及与 Windows 安全性的交互。

http://www.winnetmag.com/Windows/Issues/IssueID/714/Index.html

内存优化恶作剧

在此适用于非订阅者的 Windows 和 .NET 杂志中,我介绍了所谓的“RAM 优化器”的欺骗行为。

http://www.winnetmag.com/Windows/Article/ArticleID/41095/41095.html

WINDOWS INTERNALS 和高级故障排除实践课程

2004 年 9 月 27 日 - 10 月 1 日 - 旧金山

David Solomon 和我将于 2004 年 9 月 27 日 - 10 月 1 日在旧金山首次向公众展示 Windows 2000/XP/2003 内部和高级故障排除课程的实践版本,为期 5 天。 (与会者必须携带自己的笔记本电脑;将提前提供配置详细信息--无需购买其他软件)。

此课程与我们为世界各地的 Microsoft 员工讲授的课程相同。 它涵盖了进程和线程、线程计划、内存管理、安全性、注册表和 I/O 系统的内部机制。 深入详解系统线程、系统调用调度、中断处理、启动和关闭等机制。 了解使用 Sysinternals 工具的高级故障排除技术以及如何执行故障转储分析。

为什么要上这个课? 如果你是部署和支持 Windows 服务器和工作站的 IT 专业人员,需要能够在出现问题时深入挖掘。 了解 Windows 操作系统的内部功能并了解如何使用高级故障排除工具将有助于你更有效地处理此类问题并了解系统性能问题。 了解内部内容可帮助程序员更好地利用 Windows 平台,并提供高级调试技术。 而且在制作课程的过程中,我们可完全访问 Windows 核心源代码,还与开发人员进行完全沟通,所以你看到的故事是真实的。

有关详细信息和注册,请访问

http://www.sysinternals.com/troubleshoot.shtml

MARK 的演讲时间表

在 5 月和 6 月的 Microsoft TechEd US 和 TechEd Europe 演讲之后,我会在阳光明媚的得克萨斯州家中享受夏天。 以下是我接下来的三场会议演讲活动:

TECHMENTOR

2004 年 9 月 27 日-10 月 1 日,加利福尼亚州圣何塞

我将在 9 月 29 日召开的本次会议上展开四次会话,包括“Windows 和 Linux:两个内核的故事”作为主题演讲。 我展示的其他会话包括“Windows 挂起和故障转储分析”、“Windows XP 和 Windows Server 2003 内核更改”和“Windows 启动疑难解答”。

你可以阅读我的摘要,并在 - 上找到指向会议注册页面的链接

http://www.sysinternals.com/ntw2k/info/talk.shtml

WINDOWS 连接

2004 年 10 月 24 日-27日,佛罗里达州奥兰多

在本次会议上,我将以全体会议的方式发表“Windows 启动疑难解答”演讲,并展示“使用 Sysinternals 工具对 Windows 进行故障排除”(都在 24 日)(我很自豪地说,Microsoft Network - MSN 邀请我在本周于西雅图举行的年度 MSN 工程卓越会议上发表为期一天的 主题演讲 - Windows 故障排除会话)。

从 - 阅读摘要并转到会议网站

http://www.sysinternals.com/ntw2k/info/talk.shtml

MICROSOFT IT 论坛

丹麦哥本哈根

我将与 Dave Solomon 就 Windows 核心安全内部问题进行为期一天的会前教程会话,我个人还有几个尚未确定的分组讨论。 可在此处找到会前教程摘要和注册信息:http://www.microsoft.com/europe/msitforum/


感谢阅读 Sysinternals 新闻稿。

ottoh 发布于 2004 年 7 月 30 日 星期五 下午 4:39

[新闻稿存档 ^][< 第 6 卷第 1 号][第 7 卷第 1 号 >]