物理内存的已缓存+可用+空闲后为何不等于总数

1265+1279+74=26813325-2681=707这707MB去哪了?... 1265+1279+74=2681
3325-2681=707 这707MB去哪了?
展开
 我来答
暗尽明
2017-12-11 · TA获得超过243个赞
知道答主
回答量:12
采纳率:100%
帮助的人:2.4万
展开全部

虽然本人并不是计算机方面的能手,内存方面也并不是那么精通,但是,我看到其他答案感觉并不是很正确,也不能解决该问题的痛处。

题主的问题是:已缓存+可用+空闲后为何不等于内存的总数。

首先,题主对这三个概念其实并不够理解。从题主的图片上也可以看到,可用=已缓存+空闲。也就谁说这三者之间有重复的地方,所以相加肯定得不到总数的值。

其实,这张图片上并没有显示程序正在使用的内存大小。我们知道,计算机的内存大小其实就是内存条的大小,这也是计算机的绝对的物理内存。但是,内存要分配给不同的程序,只要是计算机上的东西需要运行,无一例外都需要内存空间。包括主板的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和硬件驱动所占用的内存+已修改内存。

加粗的字体代表题主图片上显示的那一部分。

平时比较忙,很少有时间写答案。不足的地方请大家见谅吧。

雪祭亡灵
推荐于2017-12-16 · TA获得超过427个赞
知道小有建树答主
回答量:127
采纳率:100%
帮助的人:72.7万
展开全部
这个我研究过,你现在是少了,还有时候会多出来,这个不是简单的相加,个人理解:
总数,不用说了,内存识别多大就多大,你的内存3G多估计是32位系统?
已缓存,就是应用程序从硬盘读入内存占用的容量,也就是正在使用的+已经用过但是没有释放的部分。
可用,应该是总内存-当前运行的程序必须的容量。(排除可以释放的容量)
空闲,就是完全没有用到的内存,这部分就是浪费了。
追问
恩 这概念我知道,只是好奇那707MB被谁给吞了
追答

总数-空闲=已使用,其他几个数值之间并没有代数关系。


另外有人说:

以缓存是Win7的一个功能,系统吧你常用的软件都会缓冲到内存里加快启动速度(需要时释放)。

已使用不等于已缓存,给你几个我的截图对比下。

参考资料: 个人总结

来自:求助得到的回答
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式