首页 新闻 搜索 专区 学院

我的内存哪儿去了

0
悬赏园豆:20 [已解决问题] 解决于 2008-12-02 15:48

在一台server上,如截图,总物理内存16g,显示被占用的内存(包括物理内存和虚拟内存(未开辟物理内存)),总共3~4g,但是我物理内存的可用数(available)只有10g,不知道
其他的2g哪去了;

而且尤其是我的asp.net 程序跑的时间越长,physicial memory的available部分就越少,但是显示的被占用的内存通常不怎么变化,这样我就不清楚内存到底被什么给占用了

因为 内存使用总数+可用数 不等于实际的物理内存,附件是对应的截图

玉开的主页 玉开 | 大侠五级 | 园豆:8822
提问于:2008-11-24 14:13
< >
分享
最佳答案
0

1、一些内存不会显示到进程占用的内存中去,比如通过AWE方式申请的内存。

2、内存在系统中的分配是按照页来分配的,windows系统默认的页大小为4KB,如果你的内存没有使用满4KB,它仍然会占用4KB的内存,这有点像文件分配的情况,比如你看一下一个10字节的文件的属性,会看到size:10 bytes, size on disk: 4.00KB。所以内存使用空间和内存占用空间并不完全相等。举个例子,如果你系统某个进程申请了1M个3K字节大小的内存块,那么其内存使用量是1M*3K= 3G,而实际占用的内存空间是 1M*4K = 4G ,这样可用空间就比你算出来的少了1G。

所以楼主的问题很可能是内存碎片太多造成,而且很可能就是你那个IIS造成的,因为IIS会缓存很多小文件,造成大量碎片。

至于丁学认为是系统开销,我不太同意,操作系统内核占用内存是很小的。

eaglet | 专家六级 |园豆:17119 | 2008-11-24 18:17
其他回答(6)
0

xuexi

Jared.Nie | 园豆:1940 (小虾三级) | 2008-11-24 14:15
0

有装别的硬件么?

West | 园豆:1095 (小虾三级) | 2008-11-24 14:31
0

系统本身开支,对虚拟内存的管理开支等等

使用内存的统计一栏里不只包括物理内存,还可能包括虚拟内存,这些加起来对不上是正常的,所有数都只能参考一下,当不得真的

丁学 | 园豆:18530 (专家六级) | 2008-11-24 14:45
0

还真的有人把它们加起来过?

风海迷沙 | 园豆:4453 (老鸟四级) | 2008-11-24 14:54
0

楼主心真细

这个页面我从来就是只看cpu使用和pf使用 其它的基本没有看过

张荣华 | 园豆:2020 (老鸟四级) | 2008-11-24 17:54
0

我曾经在xp上加过.不过后来也主没深研,不了了之了.还是楼主细心.

一楼是不是写了沙发机了.每个问题都有啊.

Jerry Qian | 园豆:19 (初学一级) | 2008-11-24 20:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册