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

摘要:
任务管理器Windows系统可以使用任务管理器进行内存监控,监控可以显示出详细的内存占用的进程。Windows2008R2示例通过查看还可以添加各类内存指标进行检查,请重点检查工作集,提交大小。Windows2012示例资源监视器通过任务管理器,可以打开资源监视器ResourceManager进一步检查内存的使用情况,尤其是每个进程的使用情况。Windows2008R2及以后,对这个缓存的使用也做了限制:有一部分物理内存不会被缓存使用,保证系统即使在缓存过大的时候,也有可用物理内存,满足程序使用需求。
Windows系统内存分析工具的介绍(进程管理器,资源管理器,性能监视器, VMMap, RamMap,PoolMon)

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

任务管理器

Windows 系统可以使用任务管理器进行内存监控,监控可以显示出详细的内存占用的进程。尤其是在性能中检查虚拟内存的使用情况,已提交虚拟内存(Commited Bytes)/虚拟内存上限(Commit Limit)。如果已提交非常接近上限,那么系统会出现性能问题。
Windows 2008 R2
示例通过查看还可以添加各类内存指标进行检查,请重点检查工作集(进程物理内存占用)提交大小(非保留的虚拟内存空间)

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

Windows系统内存分析工具的介绍第2张
Windows 2012
示例

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

资源监视器

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

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

物理内存的使用包含以下几个部分:为硬件保留的内存正在使用:由进程、驱动程序、操作系统使用的内存已修改:内容必须写入磁盘才能用于其它用途的内存备用:包含未使用的缓存数据和代码的内存可用:不包含任何有价值数据,以及当进程、驱动程序、操作系统需要更多的内存时优先使用的内存

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

性能监视器

Performance Monitor 性能监视器是Windows 监控,收集系统资源消耗的重要工具。监控性能消耗通过添加指定的计数器,可以实时检查系统资源消耗的情况

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

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

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

RamMap, Process Explorer

有时在任务管理器的监控窗口中查看不到占用内存异常的进程,但物理内存显示已经负载的状态了。这种情况一般是系统底层有占用内存的情况,可以通过RamMap工具查看系统内存的占用情况,该工具是微软官方的软件,相关信息及下载地址如下:https://technet.microsoft.com/en-us/sysinternals/ff700229.aspx

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

下载后直接运行,就可以查看任务管理器中不显示的系统占用内存的情况。详细介绍:
Introduction to the new Sysinternals tool: RAMMap

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

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

Pool Monitor

对于WIndows内核而言,其两项核心的内存资源为non paged pool(非页面缓冲池)以及paged pool (页面缓冲池)。操作系统出现内存性能问题,很可能是上述2个资源消耗殆尽。虽然通过上述提到的工具可以查看到资源消耗的情况,但是如果需要定位是系统哪个Tag消耗的资源,需要使用PoolMon来定位。
poolmon
使用参考:
https://technet.microsoft.com/en-us/library/cc737099(v=ws.10).aspx

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

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

关于Tag的介绍,请参考微软官方Blog
http://blogs.technet.com/b/askperf/archive/2008/04/11/an-introduction-to-pool-tags.aspx

来自:https://help.aliyun.com/knowledge_detail/41079.html

免责声明:文章转载自《Windows系统内存分析工具的介绍》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android开发之查看应用包名package和入口activity名称的方法kafka 学习(四)安装部署下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

ubuntu下解决无声音的方法

问题的根本原因是用户失去了访问音频设备的权利。例如,在我的系统下,输出总计0drwxr-xr-x2rootroot1802008-05-1408:53.drwxr-xr-x12rootroot45802008-05-1513:01..crw rw----+1rootroot11682008-05-1408:53控制C0crw rw----+1 rootroo...

RPC 超时设置 分析 转

只有理解RPC框架的超时实现原理,才能更好地设置它。Dubbo支持非常细粒度的超时设置,包括方法级别、接口级别和全局设置。RPC框架的超时重试机制旨在解决什么问题?...

java环境安装Firefox驱动/IE驱动

如果selenium版本是3.x的,需要使用驱动包解决办法:往项目中添加火狐驱动包,并加载驱动的配置。...

注册支付宝沙箱并测试支付宝扫码连接

2.创建新的支付宝应用程序2.1下载支付宝生成软件密钥#访问“支付宝开发平台”登录并访问开发者中心https://open.alipay.com/platform/home.htm#您可以参考“计算机网站支付”来熟悉计算机支付的整个流程https://docs.open.alipay.com/270/105899/2.1步骤1:创建应用程序(此处使用沙盒环境...

mysql之排序查询

高级文章目录3:排序查询功能:1.按单个字段排序案例1:查询员工信息,要求工资从高到低排序2.为排序添加筛选条件案例1:部门编号˃=90的员工信息,按员工编号降序排序案例2:部门编号˃=90的人员信息,按输入时间排序。按表达式排序案例1:按年薪显示员工信息和年薪4按别名排序案例1按年薪升序查询员工信息5.按函数(长度)排序案例1查询员工姓名并按姓名长度减少...

Json对象转Ts类

其次,Json是一种轻量级的数据交换格式。在前端和后端之间的数据交互过程中,后端接口返回Json格式的数据,前端需要使用相应的Ts类对象来接收它。此时,如果后端提供样本数据或现有接口返回的Json格式数据,是否有方法帮助我们从Json格式数据生成Ts类?介绍了三个主要功能。1.查看Json对应的Ts类,将要格式化的Json字符串复制粘贴到中间编辑区域。单击右...