Win10内存管理探索

最近烦恼于电脑内存日常80%+,苦不堪言,明明物理内存有8G,为何那么容易爆满呢?然后就开启了我的内存管理探索之旅~
在这里插入图片描述

1. 任务管理器—内存解析

查看内存状况的第一反应是,任务管理器~
在这里插入图片描述
我们发现一个奇怪的事情,PyCharm 848MB占16.3%?算下来,我们的内存只有5个G左右?不是8个G嘛?

**PS:**其实今天中午看的时候更恐怖,因为电脑好几天不关机了,算了下使用内存仅1.5G!然后重启了下电脑,变成了3G左右~

接着,我们打开“性能”栏—“内存”项~
在这里插入图片描述
这里显示的我们的确拥有7.9G内存(相比8G,丢失的0.1G是给BIOS了,可以看看这篇文章,后文中也会介绍到内存的5大分配中有一小部分是给BIOS等的)

这里我们发现,我们的内存被主要分为了两个部分(“内存组合”),将鼠标移动过去可以看到其对应的描述:

  • 左边粉色部分:使用中(大概5000M吧)
  • 右边白色部分:备用(大概3000M吧)

如果想了解更多,可以点击左下角“打开资源监视器
在这里插入图片描述
我们发现,其实内存被分为了五个部分

  • 正在使用:5174M,由进程、驱动程序或操作系统使用的内存;
  • 备用:2554M,包含未频繁使用的缓存数据和代码的内存;
  • 空闲:296M,不包含任何有价值数据,以及当进程、驱动程序或者操作系统需要内存时将首先使用的内存;
  • 为硬件保留的内存:88M,已保留供BIOS和其他外设的某些驱动程序使用的内存(这个其实就是上文提到的,消失的0.1G);
  • 已修改:80M,内容必须写入磁盘才能用于其他用途的内存;

我们不妨计算一下这5个部分的总和:

88+5174+80+2554+296 = 8192M = 8*1024M = 8G

wow!这是我们完完整整的8G内存!我们在仔细观察一下上图,下方“已安装:8192M”,“总数:8104M”,这88M的差距,不就是上面“为硬件保留的内存”嘛~所以,前文中那“丢失的0.1G”,其实就在这里 ~

另外,下方“可用:2850M” 其实是上面的“备用+空闲”,“缓存:2649M”其实是上面的“备用+已修改”

最后,再说一下图中显示的每个进程的内存使用情况简单说一下吧!这里它有两个部分:提交+工作集
在这里插入图片描述

  • 提交:操作系统为进程保留的虚拟内存量
  • 工作集:进程当前正在使用的物理内存量;工作集又包括可共享(进程所使用的可与其他进程共享的物理内存量)和专用(由该进程使用而其他进程无法使用的物理内存量)

好了,我们现在已经通过任务管理器基本了解windows下内存长啥样儿了~ 那么我们怎么去解决这个问题呢?最简单粗暴有效的方法就是,释放掉我们的备用内存!

2. RamMap—内存管理

RamMap可以用来做内存分析和管理,这里给出官方下载地址,下载直接运行即可!
在这里插入图片描述
里面每一项的具体功能啥的,可以参照上面官网链接里相关内容,这里我们直奔主题——清空“备用内存”!方法见下图:
在这里插入图片描述
就是这个简单的方法,将我的电脑从中午的3G使用内存(重启前1.5G),扩充到了5G;Windows会根据你的内存需求,从可用内存(备用+空闲)中索要内存到“正在使用”内存,保证内存占比在70%以下;不过,实际情况来看,有时你似乎容易从“空闲”内存手中搜刮内存,而不那么容易从“备用”内存那里搜刮,这时候就清理一下备用内存吧!

用上述方法清理之后,干净了!
在这里插入图片描述

3. SuperFetch—备用内存

上面内容归根结底就是,大量的备用内存导致我们使用内存不足,我们需要对其进行清理!然而,为何会有备用内存呢?这就涉及到windows的superfetch技术了。

SuperFetch,即超级预读取,因为CPU从直接从内存读数据是要比从硬盘获取数据快得多的,windows希望在内存充足的情况下,使用空余内存来存储部分数据,当这部分数据被读取时可以大大提高速度~ (只不过,搞不好它跟你抢了内存又不愿意还给你,逼得你去使用虚拟内存… …)
(以下内容来自百度百科)
在这里插入图片描述
所以,备用内存是一项很有用的技术,只不过我不清楚为何有时候它不愿意把内存分给我的“正在使用”内存以解燃眉之急… … 当然,如果你实在烦这个东西,直接把superfetch服务关掉吧~ 不过,superfetch应该不是唯一的问题所在,因为我早就将他禁用了!
在这里插入图片描述

4. 虚拟内存管理

最后,再简单介绍一下虚拟内存的管理,感兴趣的小伙伴可以玩一玩~
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
PS:其实,任务管理器中的“提交”,就是“物理内存+虚拟内存”,比如我的可用物理内存为7.9G,虚拟内存如上所示为6G,所以我的“提交”内存为13.9G
在这里插入图片描述

就说这么多吧,欢迎指正交流~

发布了52 篇原创文章 · 获赞 4 · 访问量 2160

猜你喜欢

转载自blog.csdn.net/qq_42191914/article/details/103407133
今日推荐