Windows系统内存分析工具的介绍

概述

微软官方提供多种工具来分析Windows系统的内存使用情况,除了系统自带的任务管理器(Task Manager),资源监视器(Resource Manager),性能监视器(Performance Monitor),还有SysInternals工具,SysInternals工具如RAMMap和PoolMon,可以用来分析内存问题。本文简单介绍这些工具的使用方法,如果需要了解深入了解,请参考微软相关链接。

  • 任务管理器

  • 资源监视器

  • 性能监视器

  • RAMMap和Process Explorer

  • Pool Monitor

任务管理器

Windows系统可以使用任务管理器进行内存监控,监控可以显示出详细的内存占用的进程。尤其是在性能中检查虚拟内存的使用情况,可以通过已提交虚拟内存(Commited Bytes)/虚拟内存上限(Commit Limit)查看使用情况。如果已提交虚拟内存非常接近上限,那么系统会出现性能问题。

Windows 2008 R2
  1. 打开任务管理器,单击 性能,通过任务管理器查看内存使用情况。

还可以添加各类内存指标进行检查,打开任务管理器,依次选择详细信息标签-在表头右键 > 选择列,添加各类内存指标,请重点添加 内存 - 工作集(检查进程物理内存的占用)和 内存 - 提交大小(非保留的虚拟内存空间)。

内存-工作集 :就是在RAM这种物理内存中占用的大小

内存 - 提交大小:就是提交的总虚拟内存大小,一部分在PageFile,一部分在物理内存

Windows 2012

打开任务管理器,单击 性能,通过任务管理器查看内存使用情况。

资源监视器

通过任务管理器,可以打开资源监视器(Resource Manager),进一步检查内存的使用情况,尤其是每个进程的使用情况。对于各个进程而言,请重点关注 提交(KB)内存的大小,监控是否有进程消耗过多资源。

物理内存的使用包含以下几个部分。

  • 给硬件保留的内存。

  • 正在使用内存:由进程、驱动程序、操作系统使用的内存。

  • 已修改内存:内容必须写入磁盘才能用于其它用途的内存。

  • 备用内存:包含未使用的缓存数据和代码的内存。

  • 可用内存:不包含任何有价值数据,以及当进程、驱动程序、操作系统需要更多的内存时优先使用的内存。

  • 缓存:当文件被打开时,系统会把文件保存在缓存中,方便下次迅速读写。Windows 2008 R2及以后版本,对这个缓存的使用也做了限制,有一部分物理内存不会被缓存使用,保证系统即使在缓存过大的时候,也有可用物理内存,满足程序使用需求。

性能监视器

性能监视器(Performance Monitor)是用于Windows监控和收集系统资源消耗的重要工具。

  1. 监控性能消耗可以通过添加指定的计数器,实时检查系统资源消耗的情况,如下图所示。

  1. 此外,还可以依次选择 数据收集搜集 > 用户定义,手工添加各类计数器,例如Logical Disk、Memory、System、Processor、 Process来收集系统各类资源的实时运行情况,同时通过采样间隔来定义收集频率。例如,如果机器有内存泄露问题很久才能复现,可以配置采样间隔为5秒,如果机器很容易出现CPU异常,那么可以配置采样间隔为1秒。

RAMMap和Process Explorer

RAMMap

有时在任务管理器的监控窗口中查看不到占用内存异常的进程,但物理内存显示已经负载的状态。这种情况一般是系统底层有占用内存的情况,可以通过RAMMap工具查看系统内存的占用情况,该工具是微软官方的软件,相关信息及下载地址请访问RAMMap。打开RAMMap,可以查看任务管理器中不显示的系统占用内存的情况。

Process Private: 分配给单一Process专用的内存

Mapped File: 用来储放档案内容快取(Cache)的内存空间

Shared Memory: 标注给多个Process共用的内存分页(Page,内存管理单位)

Page Table: 用来描述虚拟内存位址的分页表(裡面是一笔一笔的PTE,Page Table Entries)

Paged Pool: 允许移至硬盘的核心集区内存(Kernal Pool Memory)

Nonpaged Pool: 不允许移至硬盘的核心集区内存

System PTEs: 与I/O空间、核心堆叠、内存描述清单等系统分页相关的PTE

Session Private: 登入工作阶段相关的内存

Metafile: 是系统快取的一部份,包含NTFS Metadata(包含MFT及其他NTFS Metadata档案)。在MFT中,每个档案属性记录佔用1K,而一个档案至少有一个属性记录,再加上其他NTFS Metadata档,当档案数众多,这块会很快速成长。

AWE: 启用Address Windowing Extension技术所使用的相关内存空间(较常应用在SQL或其他DB)

Driver Locked: 驱动程式锁定的实体内存。多用于I/O的暂时性小量应用,如果有装RAMDisk,也会算在这一区。

Kernel Stack: 核心执行绪推叠,执行绪愈多,用量愈大。

每项分类都有以下栏位:

Active: 正在使用中的实体内存分页(Process Working Set或System Working Set)

Standby: 留在实体内存但暂不使用的分页,保留供后续能快速重覆利用

Modified: 与Standy类似,但内容被修改过,重覆使用前要先回写到硬盘机

Modified no write: 与Modified类似,但标注为不需回写到硬盘

Transition: 在分类之间转换的分页

Zeroed: 内容已清空可供使用的分页,系统刚开机时明显增加,随著使用一段时间逐步转为Standby

Free: 可以使用但残留先前资料的分页,使用前需先转为Zeroed

Bad: 标注损坏的内存

Process Explorer

Process Explorer也可以查看进程的详细资源占用情况,例如打开后也可以查看到进程的各类内存资源使用情况。

Pool Monitor

对于WIndows内核而言,其两项核心的内存资源为non paged pool(非页面缓冲池)以及paged pool(页面缓冲池)。操作系统出现内存性能问题,很可能是上述2个资源消耗殆尽。虽然通过上述提到的工具可以查看到资源消耗的情况,但是如果需要定位是系统哪个Tag消耗的资源,需要使用PoolMon来定位。使用介绍请参考Pool Monitor

检查perfmon的日志来定位究竟是哪个Pool Tag导致的资源消耗殆尽,例如,检查到IoDn Tag导致资源消耗完,通过如下命令定位到是SafeDogFileGuard.sys,,而后通过修正该应用解决。

findstr /m /1 IoDn *.sys

系统显示类似如下。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NTLite 中文版可以用来做什么,它其实是一款 Windows 系统精简增强优化工具,具体想怎么样,要看你如何使用它了。虽然现在网络上有各种系统精简工具,包括本站推荐的 Dism++ 中文版或者其它的系统优化工具,他们各有自己的优点。NTLite 允许您删除你不希望或不需要安装的 Windows 组件。此外可以配置和整合,加快 Windows 部署过程。方便集成应用程序安装程序、脚本、注册表改动或原始命令。也支持静默自动运行应用程序安装程序后安装。当然,具体 NTLite 怎么样,你还是亲自使用感受下吧。 Windows 系统精简强制优化工具 NTLite 中文版Windows 系统精简强制优化工具 NTLite 中文版 映像管理 功能强大,但易于使用。在整个工具中提供动态工具栏,图像列表概述,预设和更多的细节,这些细节可以帮助您在保持映像的同时提高工作效率。 所有支持的标准映像格式,包括 WIM,解密的 ESD(电子软件下载)和 SWM(跨越式,分割映像)。 包括 ESD 到 WIM,SWM 到 WIM(又名映像加入),WIM 到 SWM(又名映像分割)转换。 如果存在正常的映像文件夹结构(例如,启动和来源文件夹),则工具可以从其中任何一个创建可启动的 ISO。 并且您可以编辑所有支持的主机组合中的映像,例如支持从 Windows 7 编辑 Windows 10 映像作为主机。 注意:64位和32位工具版本可以编辑64位和32位映像。例外的是 Windows 7 Service Pack slipstream,对于64位版本,您需要在64位主机操作系统下运行。 实时安装修改 在“脱机”编辑 Windows 安装映像之前,NTLite 采用了实时编辑模式,这是一种独特的功能,允许您从已安装的 Windows 配置并删除组件,而无需重新安装。只需在要编辑的操作系统上运行该工具,选择要更改的内容,并在必要时重新启动 – 即时结果。 注意:ISO 创建仅适用于映像/脱机。无法从 Live 安装创建 ISO。 组件移除 减少 RAM 和存储驱动器内存上的 Windows 占用空间。 移除您选择的组件,并通过兼容性安全机制加以保护,以加速找到最佳位置。 注意:每个新组件都是独立的高级功能 更新,语言和服务包集成 轻松集成更新,语言和服务包。 更新集成功能可以进行智能排序,使您可以无缝地添加软件包进行集成,并且该工具将按照适当的顺序应用它们,从而保持更新兼容性。 分析选项建议某些更常见的问题,依赖关系或某些KB更新的建议。 驱动程序集成 将驱动程序集成到映像中,Windows 将在部署时自动安装检测到驱动程序。 还具有“导入主机”功能,可以将主机驱动程序集成到映像中。 然后像“排除未使用”这样的选项,它从集成队列中删除驱动程序,这些驱动程序不会根据所选硬件列表的需要进行检测。 驱动程序也可以集成到启动映像(boot.wim,Setup),以便它们在 USB/ISO 启动时可用。可以集成和使用 USB3 或 SATA 控制器驱动程序,否则这些驱动程序将不受支持,具体取决于 Windows 版本。 硬件瞄准 NTLite 可以收集主机硬件列表并将其用于其所有功能。 硬件目标清单是一个免费有用的功能,允许您在应用更改之前提前查看所生成的部署中缺少的驱动程序。 这使您可以在准备映像时定位到其他机器,同时尝试达到最小部署大小或最大兼容性。 您还可以从映像或现有安装中提取驱动程序。 注册表集成和编辑 使您能够轻松地将 REG 文件直接应用到映像注册表,无需在安装过程中应用,使注册表更改独立于部署方法。 HKCU 条目映射到默认用户,并在所有用户创建之前传播更改。 还提供手动更改的直接配置单元编辑。 调整 轻松更改实时安装或图像上的各种Windows设置,例如页面文件设置或各种资源管理器UI设置等等。 在部署之前您也可以预先配置 Windows 功能,就像在控制面板 – 程序 – 打开或关闭 Windows 功能部件一样。 无人值守安装 Windows 无人值守功能支持,在单个页面上提供许多常用选项,以实现简单,全自动的设置。 通过从源自身读取的有效条目呈现多项选择选项。 包括自动填充选项,使用当前的主机数据填充选项,允许快速配置。 添加本地帐户,提前选择用户名和密码,安装后自动登录。 网络连接,允许您在安装后自动连接到工作组或域。 磁盘分区,通过自动格式化和分区驱动器来加速部署。 应用集成 轻松集成应用程序安装程序,脚本,注册表调整或原始命令。提供无声开关,并自动运行应用程序安装程序后设置。 待处理更改概述和后处理自动化 在实际应用这些更改之前,所有待处理的更改和重要警告均显示在单个页面上以供快速审阅。 通过启用额外选项或自

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值