任务管理器无法显示里只显示物理内存

我的电脑好奇怪内存是512M的但在任务管理器里面显示内存使用率到了1G多呀?那位高手解释一下这是怎么回事?_百度宝宝知道后使用快捷导航没有帐号?
查看: 6524|回复: 0
虚拟内存,物理内存,页面文件,还有任务管理器一些概念的解释
该用户从未签到
& && & 虚拟内存(VirtualMemory)是Windows管理所有可用内存的方式。对于32位Windows系统,每个进程所用到的虚拟内存地址从0到2^32-1,总容量4GB,其中2GB是与操作系统以及其他所有进程所共享,另外2GB分派给进程独占(这就是常说的32位Windows中一个进程最多能用2G内存的由来)。
  4GB虚拟地址空间(VirtualAddressSpace,VAS)中,2GB的进程独占VAS是进程隔离的,换句话说,每个进程都可以从RAM或者硬盘上映射到属于自己的2GBVAS。所以虽然32位Windows每个进程最多只能获得4GB可用虚拟内存,但是所有进程总和可以使用总量超过4GB的虚拟内存。可惜XP只支持4GBRAM,也就是说超出部分一定得靠页面文件补足;而比如2003企业版通过PAE支持32GBRAM,可以减少页面文件的用量。(但单个进程最多仍然只有4GB虚拟内存地址空间,而不是32GB)
  所以,一个简单的计算示例:三个进程最多能用掉多少VAS?
  2GB(共享)+2GB(独占)×3=8GB
  这4GB的虚拟地址空间,按照4KB的大小进行分页(page),然后以页为单位映射到实际存储单元中,包括:
  ·物理内存(RAM)
  ·页面文件(Page File,在Win9x中称为交换文件Swap File,即win386.swp)
  ·其他文件自身(比如一些长时间未活动的进程的exe文件自身)
  可见,通常人们所说的虚拟内存实际上只是指其中的页面/交换文件而已,这是对虚拟内存的一个错误的理解。虚拟内存≠页面文件
  RAM中除了保存最近读写的文件缓存(FileCache,相当于Win9x中的Vcache)主要用来存储正在使用的程序代码和数据,当RAM资源紧张,或者有程序码或数据长时间未使用时,XP通常会将非活跃程序码所在的地址页映射回程序文件(exe、dll等),将数据所在的地址页映射到页面文件(pagefile.sys)中并拷贝数据,然后将它们本来占用的RAM空间释放。这个过程称为页出(Page Out)。
  当系统读取某个虚拟内存地址,而该地址所在的页不在RAM中时,将产生一个页面错误(PageFault)中断,告诉系统从页面文件或者程序文件中取回包含该地址的虚拟内存页,即将内容拷回到RAM并建立新的虚拟地址映射,并将页面文件中对应部分标记为未使用,这个过程就是页入(PageIn)。页入成功的话就是一个Valid Page Fault,否则就是InvalidPageFault。前者非常普遍,(可以在任务管理器的进程页监视到)而后者是由程序或硬件错误引起,如果发生在进程上会导致非法操作,如果是系统自身则很可能蓝屏。
  内存用量可以在任务管理器的性能页中看到。其中物理内存的总量、可用数等是指安装的RAM容量和剩余RAM容量,而内存使用(2000下的正确翻译)或者提交更改(XP下的错误翻译)的总量和限制是指虚拟内存的CommitLimit和CommittedBytes,可以理解成系统可以使用的虚拟内存总量和当前使用量,其中总量是由RAM大小+页面文件大小决定的。
  而在任务管理器的进程页中,“内存使用”和“虚拟内存大小”造成的误解很多,而实际上,这两个值是对应性能监视器中该进程的WorkingSet和PrivateBytes,WorkingSet是指一个进程的4GB虚拟地址空间中被映射到RAM中的部分的大小,通常是该进程的虚拟内存中的活跃部分。表面看来这个表述和“进程占用的RAM大小”没有太大区别,但至少有两种情况导致了例外的发生:第一种是这部分虚拟内存如果是属于2G的系统共享虚拟内存,那么它映射到的RAM地址可能和其他进程有重复,计算多个进程占用RAM总和就不正确,使得所有进程的WorkingSet之和比实际占用RAM要大。第二种是一个进程中可能有同一段RAM内容的多个引用,比如一个文件被loop多次,此时虚拟空间中会有多段地址被映射到同一段RAM上,从而造成该进程的Working Set比实际占用RAM要大。
  Private Bytes是一个进程的2GB独占虚拟地址空间中用到的部分的大小,无论这部分是在RAM中还是在页面文件中,甚至是在exe、dll等文件中。所以,任务管理器进程页中的虚拟内存绝对不反映pagefile.sys的用量。
  所以,任务管理器无论是进程页还是性能页都不能直接反映pagefile的使用情况,诸如“关掉pagefile还能看到虚拟内存”之类的疑问,应该很清楚了。
  (再次抱怨一下Windows中文版糟糕的专业术语翻译)
  下面是一个简单图示,两个进程,各自拥有2G独占VAS,共同拥有2G共享VAS,W代表映射到RAM中的部分(Working Set),P代表页出的部分。
& && &0 …………………2GB独占VAS………………… 2G ………2GB共享VAS……… 4G
进程1&&|-----PPPP------------WW-----PPPP--------|
& && && && &&&\\\\& && && &&&||& && &\\\\
& && && && && &\\\\& && && & ||& && & \\\\& && & --PPPPPPPPPPPP--WWWWWWWW--|
& && && && && & \\\\& && && &||& && &&&||||& &&&|& &|||||||||||&&||||||||
& && &&&(exe2磁盘exe1)&&RAMemory& &&&PageFile& &| 共享内核/dll等 共享RAM空间
& && && &||||& && && &&&||||& && && &||& & |
进程2&&|-PPPP-----------WWWW---------PP----P----|
  然后,任务管理器的进程页中的“内存”就是上图中的W,所以所有进程的内存项加起来肯定比实际用的RAM大,因为有共享部分此外还有重复引用。而任务管理器进程页中的“虚拟内存”就是上图中左半部分,“独占VAS”。可见pagefile只是其中的一部分,而RAM,只要用于独占VAS,一样计入了该处“虚拟内存”。
  最后,实际的页面文件用量(pagefile.sys中实际使用部分),可以在性能监视器中看到,即Paging File下的%Usage和%UsagePeak配合当前pagefile.sys的大小就可以计算出字节数,这个值可以做为设定页面文件最小值的一个参考,而不是用任务管理器进程页的所有进程的虚拟内存大小相加做为页面文件最小值的参考。
17年8月精华宗师
17年8月精华大师
关注本友会
本友会微信公众号
VR微信公众号
benyouhui2012
Powered by[原创]服务器内存使用率99%,但是任务管理器所有进程加起来不足25%?? - lyl的路
- 畅享博客
|收藏博客|加入友情链接|给博主留言
lyl的实施顾问之路
[原创]服务器内存使用率99%,但是任务管理器所有进程加起来不足25%??
[原创]服务器内存使用率99%,但是任务管理器所有进程加起来不足25%??
新接手的项目,验收前突然被商务告知,异地使用远程的客户因为登录和使用响应时间过长,对此很不满意,叫咱来找原因。接到活,首先,说到系统反应速度慢,想到的就是服务器系统CPU使用情况、服务器内存占用情况、网络、数据库锁与阻塞,第一时间进入服务器,发现的确延迟比较大,查看任务管理器,cpu总占用率1%,判断正常(客户使用服务器频率并不高)。然后按照内存占用排序,最高的是oracle,占用1.5G内存,但是服务器的内存为8G,将下面所有用户的钩勾选上之后,所有进程占用内存之和仍不足2G,保险起见,我将服务器重启,重启之后占用情况如下图:离8G相差极远,但是占用率仍高达98%,使用remote process explorer百思不解,遂求助于google老师,关键词“window2008 内存”,得解:“从vista开始,windows改变了内存使用策略,尽可能将物理内存都用上,以保证系统处于最佳性能”,这个大概解决了我对于占用率高居不下的困惑,然后想到了动态内存的元凶——&Hyper-V,打开&Hyper-V服务器,一看,果然两个虚拟机使用掉了6G的内存,占用率的问题解决了。但是,远程操作时服务器仍然比较卡,想起之前给个人笔记本做性能优化时,在高级系统选项中,有这么一个选项,可以控制处理器的工作偏好(如下图)(图中是我自己客户端的设置,服务器上设置的是后台服务)根据这点,判断就是因为系统对前台进程的处理优先级低于后台服务和进程,造成的远程操作及操作前台应用程序缓慢。总结,对于win2008占用内存99%的情况,在Hyper-V开启情况下,属于正常&主题相关的情况就这些,之后,在判断内存占用正常的情况下,检查了数据库的死锁和阻塞,以及临时表和回收站,并没有值得注意的信息被发现,毕竟这台服务器主要用于OLAP而不是OLTP。最后联系了现场,获得了机器配置为主流,打开程序到登陆成功要使用1分钟,打开一个展板要使用50s,自己登陆去截取响应时间,去除首次登陆花费的预加载时间,耗时分别是15s和10s(这时候发现自己绕了好大一个弯,应该先去排除不同客户端的情况),判断应该是网络问题,鉴于山东到上海,很有可能一个是网通一个是电信,根据之前玩游戏远程点对点连接的经验,电信网通近乎绝缘= =,让甲方IT人员检查前置机到上海服务器的ping值去了……完,虽然我觉得应该没完&<div class="votes" id="Score
查阅更多相关主题的帖子:
下一篇:上一篇:
您还未登录,不能对文章发表评论!请先查看: 1058|回复: 11
我的4G内存任务管理器上《物理内存》只总数只有2557,系统上看又有4G
mao8182 该用户已被删除
提示: 作者被禁止或删除 内容自动屏蔽
在线时间943 小时
阅读权限20
主题帖子积分
8K级, 积分 7304, 距离下一级还需 7696 积分
8K级, 积分 7304, 距离下一级还需 7696 积分
金币303 大洋
楼主用的是喂死它系统?
按理应该能显示4G才正常
4.jpg (129.99 KB, 下载次数: 0)
14:50 上传
Vista的内存管理机制与XP不同,Vista把绝大多数物理内存都当成了一个名叫超级预存取块,即SuperFetch的缓存装置。Vista利用SuperFetch内存缓存装置,动态地把系统经常需要用的后台程序和磁盘数据预先提取到缓存中,随时加速应用的运行。所以,不要用老观点看待Vista的可用内存量,思维也要与时俱进了。
如果禁用SuperFetch,空闲内存越多,速度反而越慢
这里还要顺道BS一下中文版里的任务管理器,错把“空闲(Free)”内存,翻译为“可用”内存,误导了大家
01.jpg (111.89 KB, 下载次数: 0)
14:50 上传
请勿以XP时代的眼光审视Vista的内存占用(ZT)
如果你是一个喜欢关注Windows任务管理器之“性能”标签,并以XP时代的眼光审视新的Vista操作系统的人,你就会注意到Vista的物理内存占用相当“严重”。
因为,你所看到的“可用”内存少的可怜。比如下图中2GB的内存,其可用内存数就是6MB,看看你自己的或许更少。但是不用担心,这并非说明你的内存不足,而是它们正在被有效利用。换句话说,“可用”内存越少越好。为什么?!
因为Windows Vista的内存管理方式比WindowsXP更先进。RAM在计算机中扮演的角色就是缓存,如果它处于空闲状态,就是摆设,没有发挥用途。此时就要提到WindowsVista的SuperFetch(超级预取)技术了,它是Vista用以优化内存使用的内存管理技术。
Windows SuperFetch 帮助改善 PC 的响应速度,并使系统的性能更加稳定。 Windows SuperFetch跟踪您最常用的应用程序并跟踪您使用它们的时间。然后它会将这些应用程序预加载到内存中以便进行快速访问,所以,如果你的“可用”内存很少,说明它们都在物尽其用,不要担心(内存少到影响了使用性能除外)。
02.jpg (26.21 KB, 下载次数: 0)
14:50 上传
在线时间535 小时
阅读权限50
主题帖子积分
金币10 大洋
VISTA 32位操作系统不支持4G内存,64位VISTA系统可完美支持
在线时间2583 小时
阅读权限100
主题帖子积分
金币40 大洋
LZ是在写的什么文章啊?标题和内容不合
在线时间1138 小时
阅读权限10
主题帖子积分
4K级, 积分 4359, 距离下一级还需 141 积分
4K级, 积分 4359, 距离下一级还需 141 积分
金币10 大洋
原帖由 zxc_asd 于
16:08 发表
VISTA 32位操作系统不支持4G内存,64位VISTA系统可完美支持
大错,在BIOS里设置一下IO MAP,然后打开boo.ini中的3G选项
在线时间1947 小时
阅读权限20
主题帖子积分
8K级, 积分 6237, 距离下一级还需 8763 积分
8K级, 积分 6237, 距离下一级还需 8763 积分
金币452 大洋
原帖由 qnxchina 于
21:43 发表
大错,在BIOS里设置一下IO MAP,然后打开boo.ini中的3G选项
A平台怎么使4G完美利用呢?
在线时间1080 小时
阅读权限20
主题帖子积分
8K级, 积分 5075, 距离下一级还需 9925 积分
8K级, 积分 5075, 距离下一级还需 9925 积分
金币10 大洋
vista 系统带 SP1就可以认出来了, 但是要想要完美利用还是64位比较好
在线时间1138 小时
阅读权限10
主题帖子积分
4K级, 积分 4359, 距离下一级还需 141 积分
4K级, 积分 4359, 距离下一级还需 141 积分
金币10 大洋
原帖由 zhqgym 于
11:06 发表
A平台怎么使4G完美利用呢?
必须在BIOS中重新设置显卡地址设置,但有的BIOS中没有这项显示,比如技嘉的板子就要秘笈才能看到隐藏选项
在线时间1141 小时
阅读权限10
主题帖子积分
4K级, 积分 4023, 距离下一级还需 477 积分
4K级, 积分 4023, 距离下一级还需 477 积分
金币10 大洋
找找bios的北桥设置,有memory remap项的话启用
在线时间840 小时
阅读权限10
主题帖子积分
4K级, 积分 2765, 距离下一级还需 1735 积分
4K级, 积分 2765, 距离下一级还需 1735 积分
金币10 大洋
原帖由 qnxchina 于
21:43 发表
大错,在BIOS里设置一下IO MAP,然后打开boo.ini中的3G选项
俺是菜鸟,请问如何设置?请不吝赐教,谢谢!
在线时间1066 小时
阅读权限10
主题帖子积分
4K级, 积分 3980, 距离下一级还需 520 积分
4K级, 积分 3980, 距离下一级还需 520 积分
金币10 大洋
如果是现在主流的主板都可以支持4G,估计需要打开memory remap(bios)和pae(os),但32位的Vista估计是没办法全部利用的,尽管能够显示出来4G
32位的服务器操作系统可以支持4G以上
如果主板不支持remap,那无论什么系统都用不到4G以上的
在线时间132 小时
主题帖子积分
BD级, 积分 1536, 距离下一级还需 964 积分
BD级, 积分 1536, 距离下一级还需 964 积分
金币10 大洋
原帖由 dsxl 于
12:20 发表
如果是现在主流的主板都可以支持4G,估计需要打开memory remap(bios)和pae(os),但32位的Vista估计是没办法全部利用的,尽管能够显示出来4G
32位的服务器操作系统可以支持4G以上
如果主板不支持remap,那无论什 ...
恩,这个是正解。
〓优秀会员〓
〓优秀会员〓
〓论坛元老〓
〓论坛元老〓
〓爱心使者〓
〓爱心使者〓
〓水师上校团长〓
〓水师上校团长〓
〓优秀版主〓
〓优秀版主〓
〓辛勤工作〓
〓辛勤工作〓
〓一级杰出贡献〓
〓一级杰出贡献〓
〓杂志编辑〓
〓杂志编辑〓
〓水师少校营长〓
〓水师少校营长〓
Powered by

我要回帖

更多关于 任务管理器物理内存高 的文章

 

随机推荐