计算机物理内存问题

2019-08-08 14:59:07 +08:00
 devswork

虚拟内存=物理内存+页面文件。

主机安装了 32G 的物理内存,关闭了页面文件,我从 AIDA64 上面看到:虚拟内存正在使用 50%,按道理讲,这些使用的内存应该完全是物理内存(页面文件=无),则物理内存也应该是使用 50%,但是实际上物理内存的使用是 34%,我既然关闭了页面文件,那么 50%-34%=16%的使用是在哪个地方?

任务管理器显示的占用率是 34%,是物理内存的占用率。

AIDA64: https://sm.ms/image/LqWASeXOrVP14ZD

任务管理器: https://sm.ms/image/B7QukD5sqw6Na4d

2301 次点击
所在节点    程序员
6 条回复
GordianZ
2019-08-08 15:20:38 +08:00
已提交 16.2/32.0 GB
建议看点操作系统的书,了解内存是怎么管理的。
moooyo
2019-08-08 15:26:08 +08:00
(很久以前看过,现在忘得差不多了,按照记忆理解说一下,不一定对。
你首先得明白内存是做什么的,内存换页不一定发生在内存不够的情况,如果两个虚拟内存页对应同一个内存框,也会淘汰一个。就跟 hash 一样,不是用满了才会开始碰撞。
devswork
2019-08-08 15:49:55 +08:00
@GordianZ 有什么文章或者书籍可以推荐一下吗
devswork
2019-08-08 15:58:08 +08:00
我看了一下资源监视器,算了一下,物理内存中:“正在使用 11364MB ” / “已安装 32716MB ” = 34%,那么 AIDA64 中显示的物理内存“已用” = 正在使用 11364MB + 已修改 356MB,可用 = 已安装 32716MB - “已用”,即:不包括已缓存的部分。

而 windows 任务管理器中的使用率 34% = 物理内存中的(正在使用 11364MB + 已修改 356MB )/总物理内存量。

已提交 = 使用中 + 已修改 + 备用。

那么 16%的物理内存使用量 = 物理内存中的备用量(即 windows 做的预读缓存)。
wr410
2019-08-08 16:00:14 +08:00
win10 的任务管理和 windows 的资源管理器里面的注释就解释的很好了。
devswork
2019-08-08 16:04:08 +08:00
@wr410 已经看明白啦,谢谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/590161

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX