虽然本人并不是计算机方面的能手,内存方面也并不是那么精通,但是,我看到其他答案感觉并不是很正确,也不能解决该问题的痛处。
题主的问题是:已缓存+可用+空闲后为何不等于内存的总数。
首先,题主对这三个概念其实并不够理解。从题主的图片上也可以看到,可用=已缓存+空闲。也就谁说这三者之间有重复的地方,所以相加肯定得不到总数的值。
其实,这张图片上并没有显示程序正在使用的内存大小。我们知道,计算机的内存大小其实就是内存条的大小,这也是计算机的绝对的物理内存。但是,内存要分配给不同的程序,只要是计算机上的东西需要运行,无一例外都需要内存空间。包括主板的bios和一些外置硬件设备所需要的驱动程序。
我们拿一个4G的电脑做例子。我们买一个4G的内存条放到计算机,然后在计算机属性中可以看到可用的内存不是4G,而是3.6G左右。就是因为主板的bios和一些外置硬件设备的驱动程序占用了400多M(不同电脑可能会有区别)。
说完了硬件驱动占用的部分,接下来还有软件。我们知道,软件的运行需要操作系统,而操作系统本身就是一个大型软件。操作系统启动的时候就会生成有各种进程和服务,只是这一部分可能就需要1G左右的空间,甚至将近2G。这也跟电脑内存大小有关。有些内存大的电脑,开机系统占用的内存也会动态的变大。有些内存小的电脑,一开机内存可能就会占用40%左右。对于4G的电脑,运行一段时间,系统占用大概也得1.3G左右。
好了,我们继续拿4G的电脑做例子。硬件驱动和BIOS占用了400多M,系统占用了1G,接下来就剩下2.5G了。然后,我打开了QQ和浏览器等应用程序,这些软件会随着使用量的增多,内存也会逐渐增大。比如,浏览器多开了一个标签,内存就会增大一点。qq多开了几个窗口,然后再加上视频聊天等,内存也会逐渐增大。更何况我们运行的一般都不会只有这两个软件。这些软件的运行轻松就会上G。再加上一些稍微大型的软件,比如PS,Myeclipse等。上2G都不成问题。这里我们折中,就取1.5G吧
然而,系统并不是软件运行需要多少内存,就给它多少内存。往往是大于需要运行的内存的。因为一个软件的内存并不是固定的,说不定下个操作又需要增大内存。所以我先给它一部分备用的内存,以备不时之需。因为等到需要的时候再分配就会降低效率。一般备用的内存占用大概是软件运行所需的1/3左右。大概也得500M。这部分内存虽然被预先分配了,但是还没有程序真正使用,所以也归属为可用内存中。
所以,软件运行时需要的内存加上备用的内存,又需要不小的占用。
这还没完。比如我想用个截图工具截个图,或者用记事本写个字。这些都会占用内存,叫做"已修改内存"。这些内存可以说是非常不固定的。比如,你写字的过程中,用的是内存,写完之后保存到硬盘了,内存才会释放。你写的越多,已修改内存就会越大。这部分内存相当于当前正在使用的内存。也许会占用20M左右。
这些分配完了,接下来才是内存中真正空闲的部分。也就是题主的图片上写的空闲内存。
我们算一下账。一共4G,bios和硬件驱动程序占用了400M,系统占用了1.3G,软件运行1.5G+备用500M+已修改内存20M,空闲的也就剩下几百兆。如果想我一样经常要开各种程序的,剩余几十兆也很正常。
到这里,就可以得到结论了。那就是:
总数=可用+不可用;
可用=已缓存(就是上面写的备用的内存)+空闲;
不可用=软件(包括系统进程)运行占用的内存+bios和硬件驱动所占用的内存+已修改内存。
加粗的字体代表题主图片上显示的那一部分。
平时比较忙,很少有时间写答案。不足的地方请大家见谅吧。
物理内存的已缓存+可用+空闲后为何不等于总数
首先,题主对这三个概念其实并不够理解。从题主的图片上也可以看到,可用=已缓存+空闲。也就谁说这三者之间有重复的地方,所以相加肯定得不到总数的值。其实,这张图片上并没有显示程序正在使用的内存大小。我们知道,计算机的内存大小其实就是内存条的大小,这也是计算机的绝对的物理内存。但是,内存要...
物理内存总数怎么不等于已缓存加可用空闲?
已缓存,就是应用程序从硬盘读入内存占用的容量,也就是正在使用的+已经用过但是没有释放的部分。可用,应该是总内存-当前运行的程序必须的容量。(排除可以释放的容量)空闲,就是完全没有用到的内存,这部分就是浪费了。
笔记本物理内存总数有4G,但是已缓存+可用+空闲只有2G不到是为什么
首先操作系统是否安装的是32位Windows系统?如果是,则系统最大只能认出4GB内存。其次如果笔记本使用集成显卡的时候,集成显卡通常没有自己的显存,需要到共享内存作为显存使用,而分配给集成显卡多大的内存作为显存是在笔记本的BIOS中设置。分配给集成显卡共享内存作为显存后,这部分共享的内存容量不计入系统总...
为什么我的电脑的空闲物理内存加可用内存加已缓存内存,不够内存总数...
比如说你买一个u盘,它的标签上写的是16g的,可是在你看的时候总是小于16g甚至不到15g,和这个就是一个原理
物理内存的总数为什么不等于可用数加进程占用数?
内存的总数是 为硬件保留的+正在使用的+已修改的+备用的+可用的 总的来说就是 可用的+缓存
电脑内存中已缓存、可用和空闲加起来比总数少很多,怎么办?
已缓存、可用和空闲加起来本来就不是总数啊。。。总数=已用+可用啊,已用6.01G,可用1.9G,加起来接近8G,没问题。。。可用=空闲+已缓存。。。更详情点开资源监视器看。。。
系统物理内存中已缓存加可用远小于总数是怎么回事
可识别1.4g或者可用内存只有1.4g,2g总数是你的所有内存条总量,并不表示可用内存数,顺便说下32位系统可用内存最大为3g多,内存总量4g!
为什么我的物理内存可用数加已缓存不等于总数
DOS里面有一部分程序占用内存是不显示的。
物理内存的使用量为什么和进程的总量不对等
频繁的分配和释放页帧可能导致一种情况:系统中有若干页帧是空闲的,但却散布在物理地址空间的各处。换句话说,系统中缺乏连续页帧组成的较大的内存块,而从性能上考虑,却又很需要使用较大的连续内存块。通过伙伴系统可以在某种程度上减少这种效应,但无法完全消除。如果在大块的连续内存中间刚好有一个...
物理内存的 总数!=已缓存+可用
总数是总内存 已缓存是已经使用的内存数 可用是系统调用之外可用的内存数 可用数越小越好,说明内存被充分的调用 已缓存越小越好,说明系统剩余内存越多,运行余地越大