- 浏览: 2057878 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (1409)
- asp/asp.net学习 (241)
- oracle (10)
- delphi (295)
- java (27)
- pb (1)
- 每日点滴 (49)
- 学习方法 (40)
- 思想方面 (104)
- C语言 (5)
- C++ (1)
- 代码重构经验 (5)
- 软件工程 (3)
- 数据库 (99)
- 英语学习 (3)
- mysql (1)
- 该关注的网站或者网页 (42)
- 总结 (7)
- 要去做的事情 (33)
- 算法 (1)
- 网络方面 (29)
- 随感 (96)
- 操作系统 (36)
- UML (12)
- 常用工具的使用 (55)
- 脚本 (7)
- 汇编 (62)
- 数据结构 (2)
- 财务 (38)
- 语文作文 (16)
- 法律 (1)
- 股票 (88)
最新评论
-
devwang_com:
可以,学习了~~
列出文件夹下所有文件夹的树形结构--Dos命令 tree的使用 -
hvang1988:
不管用啊 frxrprt1.PreviewForm.Pare ...
fastReport预览时嵌入到别的窗体 -
00915132:
我也有这个疑问,非常 感 谢
left join加上where条件的困惑 --SQL优化 -
zhuyoulong:
学习了,高效读书
软件架构师要读的书 -
nTalgar:
非常感谢分享!
Application.ProcessMessages用法:
你真的看懂任务管理器了吗?内存篇(下)
windows任务管理器陪伴我们很长时间了,但是你真的看懂他了吗?
//===============================
Xisat@ 2008-03-15 转载请保留作者信息和首发网站www.txww.org 感谢
//==================================
继续讲解前,先对上篇的几个概念做些补充
图
这里的内存使用是什么样的概念呢?和上文提到的虚拟内存大小(private byte)之间又是什么关系呢?
windows任务管理器(WINDOWS TASK MANAGER以下简称TM )的内存使用和procexp explorer(以下简称PE)
中的working set 是同一个概念
图
working set 在msdn里的解释是:
The working set of a program is a collection of those pages in its virtual address space that
have been recently referenced. It includes both shared and private data. The shared data
includes pages that contain all instructions your application executes, including those in your
DLLs and the system DLLs. As the working set size increases, memory demand increases.
大意为:工作集(working set)是程序在自身虚拟地址空间中最近引用的页面集合。它包括共享和私有数据
。共享数据包括哪些支持执行文件运行的系统dll和私有dll的内存页,内存需求跟随工作集增加而增加。
可以理解为进程提交的虚拟地址空间在物理内存中实际引用的部分,是进程占用内存大小的直接表现.
细心的读者可能会发现,为什么TM中有些进程的 虚拟内存大小比内存使用还要小呢?对这一事实,我还没有
确切的答案,也可以理解为,多余的这部分是某些系统共享dll的页空间比如kernel32.dll user32.dll
ntdll.dll等
另一个补充是关于pf使用率的概念
以下也是msdn上的解释
PF Usage - This is the total number of committed pages on the system. It does not tell you how
many are actually written to the page file. It only tells you how much of the page file would
be used if all committed pages had to be written out to the page file at the same time.
pf使用是当前系统所有已提交的页面空间总数,它不反应实际有多少写入页面文件.它仅仅反应假如所有的已提
交页面空间在同一时间写入页面文件可能占用的大小。
实际使用这个值并不一定代表了当前所有进程的物理内存占用,如上文所说,只是所有进程的虚拟地址空间的
总和,具体的物理内存占用或者页面文件的使用要看当前机器的环境和系统分配了。
以上概念性的东西比较多,乍看似乎不那么实用,掌握好的话遇到一些概念性的系统问题有指导作用哦
继续下文
这里是一个比较重要且被忽略的概念
页面错误和页面错误增量
图
当进程需要访问的某些部分不在缓存内存中(软页错误)也不在内存中(硬页错误)就会触发页面错误。
结果呢?
一般就从硬盘上去找数据了,效率当然低了很多。当物理内存大小不能完全跟上进程数据访问要求的时候,页
面错误就不可避免。但是减少页错误的可能,也是提高应用程序效率的重要部分
页面错误增量可以实时反应出进程的页错误动态,对判断系统性能开销有很重要的参考作用
TM中一些其他的内存信息
物理内存
图
总数:物理内存总数(你有几根内存?)
可用数:物理内存中还有多少可被提交?
系统缓存:用来缓存内存和硬盘交换的数据
windows缓存机制是windows数据效率交换的重要组成,这里的系统为工作集提供一个备用缓冲列表,提高内存
与其他存储设备的交换效率
ps:大家可能要联想到supercache是怎么工作的呢?是不是提高了这个缓存的大小啊?很抱歉,我还没有研究
过,呵呵,下文吧
认可用量(commit charge)
图
总数:相当于当前系统的提交的虚拟地址空间总和(这里也包括页面文件),比pf要大些,windows系统占用
限制:可用提交空间的最大值(包括页面文件)
峰值:当前环境历史最大值
核心内存
图
总数:系统核心驱动提交的空间总数,系统优化时候不要忽略了这个。
图
分页数:核心可被映射到页面文件的空间
未分页:核心常驻内存的空间
注:TM中的进程信息列可在 查看-选择列中添加
图
... ...
//===============================
Xisat@ 2008-03-15 转载请保留作者信息,感谢
//==================================
概念比较多,看完需要些耐心了。基础扎实些没有坏处的。:)
下篇文章打算讲讲TM中的 cpu核心时间 进程线程,句柄等等概念
饿咯,吃饭去
回见
对文章再做些补充
这些概念在实际操作中有什么作用呢?
举个简单的例子,机器操作变慢时,大家习惯性的会打开任务管理器看看cpu占有率,pf使用率来简单的判断当前系统状态.
很多时候这并不足以反应情况(pf使用和cpu占用可能都不高阿),比如开机很久的服务器,比如感染某些文件型病毒,前者你应该注意的是进程页面错误和系统缓存的信息,后者关心的应该趋向于线程信息了
而这些存在于系统中平时被大家忽略的基础往往决定着技术之间的差距
NT内核的系统还有一个非常实用的工具 管理工具-性能
它能提供系统性能计数器的图表显示,平时我用这个来评估系统当前的健康状态,里面的概念更多更复杂,许多概念之间的相互关系我也弄不清楚,但不可否认,这是一个非常有用的系统工具,有兴趣的朋友可以研究一下。
图
发表评论
-
电脑睡眠如何唤醒
2011-09-07 11:14 1224如果是“待机”的话,可以按下机箱的电源键,或是随便按几下鼠标键 ... -
VBoxManage有一个clonevdi方法可以克隆VDI文件,并赋予它一个新的uuid
2011-09-02 09:54 2209摘自:http://yangzb.iteye.com/bl ... -
取消缓存缩略图的功能 系统存在图片的缓存
2011-04-23 15:17 1111摘自:http://www.xker.com/page/ ... -
如何删除任务栏里get genuine office的星形图标?
2011-04-09 15:17 3304问题描述: 如何删除任务栏里get genuine offi ... -
有声音但音量图标不见的解决办法
2011-01-18 15:16 1366摘自:http://hi.baidu.com/wan13x/b ... -
磁盘空间不足时该清理的地方
2010-12-03 14:14 11352010年12月3日 磁盘空间不足时该清理的地方 可以删 ... -
请问如何可以去掉桌面图标的背景颜色,请问怎样去掉?非常感谢。
2010-08-24 15:06 1263问题描述:请问 ... -
linux学习步骤
2010-06-22 17:02 2064转自:http://user.qzone.qq.com/879 ... -
(ICS)的删除与重新安装 --无法识别Windows防火墙
2010-06-19 12:00 4710转自:http://blog.csdn.net/XiaN ... -
桌面背景是绿色,怎么把字下面的白色背景去掉
2010-06-18 17:49 1441问题描述: 桌面背景是绿色,怎么把字下面的白色背景去掉呢? ... -
systeminfo 命令可得CPU型号
2010-06-17 21:25 1027运行CMD 然后输入systeminfo & ... -
可用驱动精灵备份系统的驱动
2010-05-28 11:34 1122可用驱动精灵备份系统的驱动 机子用的就是驱 ... -
注册表项目不能删除的解决方案
2010-05-27 17:44 1190转自:http://blog.csdn.net/maji ... -
Trojan/Win32.Small.dyq病毒的解决方法
2010-05-27 17:03 1420转自:http://www.ant ... -
扫描工具--小榕工作室
2010-05-25 11:49 1945可扫描服务器漏洞 http://www.netxeye ... -
IE6显示页面错乱的解决方法
2010-05-19 12:03 1127问题描述: 用IE6打开搜狐网站,显示页码错乱,但是 ... -
Win2003修改系统管理员密码
2010-05-18 10:46 1257在我的电脑,管理,用户里面 找到您的帐号 然后右 ... -
点QQ的时候是一点反应都没有 ExplorerS.exe 进程
2010-05-17 21:52 1084ExplorerS.exe 进程,不结束掉,就启动不了Q ... -
笔记本电脑XP系统登录不进去的解决方法
2010-05-15 12:00 1859问题描述:笔记本电 ... -
任务管理器--内存篇(上)
2010-05-03 12:09 1603转自:http://xisat.s ...
相关推荐
本篇文章将深入探讨如何使用Delphi来实现这样一个任务管理器,包括数据的实时刷新和进程的内存信息显示。 首先,我们要了解Delphi,它是一种基于对象 Pascal 的集成开发环境(IDE),广泛用于构建桌面应用。在...
通过掌握内存管理的基本原理和使用相应的监控及调整工具,系统管理员可以有效地管理内存,优化系统性能,保证服务的稳定运行。在自动化运维的场景下,这显得尤为重要,因为自动化脚本可以定时收集内存状态,自动调整...
本篇文章将深入探讨一个基于VC++编写的任务管理器完整代码,通过分析源码,帮助读者了解任务管理器的实现原理。 首先,我们要明确VC++,全称Visual C++,是Microsoft公司推出的一种面向对象的编程环境,用于编写...
### Linux内核分析—内存篇 #### 内存布局与管理概述 Linux内核的内存管理是操作系统核心功能之一,负责高效地分配和回收物理内存资源。为了更好地理解这一复杂的过程,本文将深入探讨Linux内核如何管理和组织内存...
本篇文章将深入探讨一款名为"LikeNTTaskManager"的源代码,它试图模仿Windows操作系统中的任务管理器功能。通过分析这个项目,我们可以学习到如何构建类似的任务管理器应用,理解其核心组件和工作原理。 首先,让...
本篇文章将深入探讨如何利用C语言实现一个任务管理器,一个用于监控和控制操作系统中运行任务的实用程序。 任务管理器是操作系统中的一个重要组件,它允许用户查看系统资源的使用情况,如CPU、内存、硬盘和网络等,...
首先,任务管理器可以通过按下Ctrl+Shift+Esc快捷键或右击任务栏并选择“任务管理器”来打开。它分为几个主要部分:应用程序、进程、性能、启动、用户、详细信息和服务。我们重点关注“进程”和“详细信息”两个选项...
在Oracle数据库管理系统中,内存管理是一项至关重要的任务。不合理的内存配置可能导致性能下降甚至系统故障。冯春培作为一位经验丰富的Oracle专家,他的这篇文章清晰而深入地介绍了Oracle内存管理的关键方面,特别是...
本篇文章将深入探讨"任务管理器源码.zip"中的核心知识点,帮助开发者更好地理解和优化自己的应用。 首先,我们要知道,Android的任务管理器(Task Manager)主要由系统服务(System Server)中的ActivityManager...
本篇文章将深入探讨如何使用Swift来创建一个iOS任务调度器,以及如何通过它来优化CPU和内存的使用。 首先,我们需要理解什么是任务调度器。在计算机科学中,任务调度器是负责决定何时、何地以及如何执行应用程序中...
本篇将深入探讨一个基于SDK(Software Development Kit)开发的任务管理器源码,以Windows自带的任务管理器为参照,揭示其设计思路和技术实现。 首先,SDK是软件开发者用来创建应用程序的工具集,通常包括编程库、...
本篇将深入探讨UCOSIII的内存管理机制,并结合STM32微处理器的实际应用进行详尽解析。 内存管理是操作系统的核心功能之一,它负责分配和回收内存资源,确保程序的高效运行。在UCOSIII中,内存管理主要分为两个部分...
Java虚拟机(JVM)是Java程序运行的核心,它的内存管理和垃圾回收机制对于程序的高效运行至关重要。在本文中,我们将深入探讨JVM的类加载子系统及其在内存管理中的作用。 类加载子系统,也被称为Class Loader ...
FreeRTOS系列教程高级篇文档资料: 10、FreeRTOS高级篇10---...7、 FreeRTOS高级篇7---FreeRTOS内存管理分析.docx 8、 FreeRTOS高级篇8---FreeRTOS任务通知分析.docx 9、 FreeRTOS高级篇9---FreeRTOS系统延时分析.docx
综上所述,使用C#开发任务管理器涉及了系统资源访问、进程管理、内存监控、用户界面设计等多个方面,通过合理的编程技巧和设计模式,我们可以构建出高效、易用的任务管理工具。在实际项目中,还需要考虑到错误处理、...
每个分区都有其特定的内存块大小和数量,通过这样的方式,系统可以更有效地分配和管理内存资源。 总结起来,嵌入式系统中的内存管理是复杂而关键的,它涉及到内存分配策略的选择、内存保护机制的实施以及针对实时性...
这篇文章主要探讨了Windows任务管理器的开发原理,以及如何实现一个功能完备的任务管理器。 首先,任务管理器的核心功能之一是进程管理。它不仅显示进程的名称,还会提供诸如进程标识符(ProcessID)、用户名...
本篇将深入探讨YARN内存分配的管理机制以及相关参数配置。 首先,YARN内存管理涉及到三个主要角色:ResourceManager(RM)、ApplicationMaster(AM)和NodeManager(NM)。 1. ResourceManager(RM):RM是全局...
在本篇中,我们将深入探讨任务管理器的功能、作用以及如何有效地使用它。 1. **任务管理器的基本功能** - **查看运行进程**:任务管理器可以显示当前手机上所有正在运行的应用程序和后台服务,帮助用户了解哪些...