作者:1466
链接:https://www.zhihu.com/question/39716538/answer/883031599
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

关于任务管理器内存的详细科普,欲求甚解可直接由此往下看:

任务管理器上显示的每个进程占用的内存,是进程的专用内存,即进程运行的时候,这部分就被它占着,不能被其他程序使用。

而实际上每个进程占用的内存并不是那么多,只是还有一部分占用的内存是可共享内存,即在你运行其他程序而内存不够时,其他程序可能会抢占可共享的内存,有些程序会因此而崩溃

而所有进程的专用内存可共享内存加起来,才是任务管理器中的使用中内存,也就是你所看见的使用量,并且算内存占用率的时候,也是用这部分内存除以总可用内存,因为这两部分都是真的存在你的内存条里的部分,所以是真正字面意义上的内存使用率

为什么要强调总"可用"内存呢?因为实际上有一部分内存是不可用的,为硬件保留的内存,供BIOS,各类硬件驱动使用,一般你接的外部设备越多,这部分占用就越大,保留内存大小过大时的解决办法会在问题解决部分提到.总之,你电脑实际安装的内存=(物理)总可用内存+为硬件保留的内存,

在任务管理器-性能-内存,显示的信息所代表的含义:

使用中:当前所有进程申请的,且实际存储在内存条里的内存的量

已压缩:win10引入了内存压缩技术,被压缩的内存占用,同样是在内存条里

可用:内存条的总可用内存-使用中内存

已提交(斜线左侧):这是所有进程申请的内存空间,一定比已使用的大,进程申请了空间,但是并不一定就全占了,如果你开启了虚拟内存(其实应该叫分页文件),有一部分可能在分页文件里,而就算你没有启用分页文件,也并不是申请了多少,就在内存条里占用多少的,所以你会发觉已提交不管怎样都比使用中的内存要大,而已提交接近峰值时,再开应用程序,就已经可能出现崩溃了,因此只看使用中的内存并不准确

已提交(斜线右侧):你系统可以使用的逻辑内存总量,windows中将内存一视同仁为逻辑内存,逻辑内存总量=(物理)总可用内存+分页文件,一些存在内存条里的,不常用的内存,windows会将其移动到磁盘的pagefile.sys,即分页文件内

为什么叫分页这个奇怪的名字呢,因为windows使用了页式存储管理内存,就是把你的所有内存当成了一本书一样,然后划分成一页一页这样的区块,这样使用页号就能定位某个区块,再告诉系统是这页的第几个"字",系统就能快速知道要存要用的内存在哪里了,而把这本书的一部分页面,放到磁盘上,自然就叫它"分页"了(不过英文只是简单地称作pagefile)

已缓存:windows会将一些数据存到物理内存中,提升系统的速度,当需要内存时,这部分空间会自动释放,因此不必顾忌,这部分内存虽然被使用了,但并不是占用,不是"霸着位置",是可以随时让出位置的,起加速作用的内存,并不属于"使用中的内存"

分页缓冲池&非分页缓冲池:这两部分内容存储的都是系统的内核和驱动程序,区别是,分页缓冲池的内容是存在磁盘上的,而非分页缓冲池的内容是存在物理内存中的(而且是必须存在物理内存中的)

在资源监视器中,你可以看到更详细的内容,"为硬件保留的内存","可共享","专用"同上,"正在使用"等同于"使用中的内存","备用"大体等同于"已缓存",剩下的:

已修改:有部分内容被放到了内存中,但在使用时又必须移到硬盘内,这部分为已修改内存(已修改+备用=已缓存)

可用:没放啥要用的东西,需要时被优先占用的内存

硬中断:表示访问磁盘分页文件作内存的次数,如果数量太大那么说明物理内存不足

提交:操作系统为进程保留的虚拟内存

工作集:进程当前在物理内存上实际占用的量

问题解决

首先关于题主的问题,一方面时间久远应该不需要解答了,另一方面,实际上对于64位的win10系统,4G内存开机占60%是正常现象

一般用户的开机启动内容在500MB以内,而4G,8G内存的win10 64位系统,一般开机启动系统自身就会占用1.5-2.5GB内存,16G内存的则占用在2.5G-3.5G,内存越大吃的越多,系统也越快,只有达到一定程度(比如128GB内存),系统才不会继续吃更多,而32位系统则占用的更少(理论上少一半,实际上由于各种优化存在,并不会如此)

下面讲解一般情况下问题的排查解决方式:

首先正常开机,不要人为打开任何程序,然后打开任务管理器,点击用户标签页,查看内存占用,一般包含常规的启动项在内,这部分小于500MB是比较正常的,如果明显较大,那么应该是你的启动项有内存占用大户,你可以直接在任务管理器进程页,点击内存排序,查看有没有内存占用较大的程序.

要关闭自启动程序,你可以检查:

  1. 任务管理器-启动
  2. C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
  3. win+R -> taskschd.msc -> 任务计划程序库 -> 上次运行时间降序
  4. win+R -> regedit -> HKEY_LOCAL_MACHINE(以及HKEY_CURRENT_USER)\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
  5. win+R -> services.msc(双击打开项目,启动类型设为禁用)
  6. win+R -> msconfig -> 服务 -> 可选隐藏所有Microsoft服务,及全部禁用
  7. win+R -> gpedit.msc(家庭版win10没有) -> 计算机配置/用户配置 -> 管理模板 -> 系统 -> 登录 -> 在用户登录时运行这些程序
  8. win+R -> gpedit.msc(家庭版win10没有) -> 计算机配置/用户配置 -> Windows设置 -> 脚本(启动/关机) -> 启动

这可以解决大部分第三方程序的占用问题,对于系统程序异常内存占用问题,你可以尝试:

win+R -> cmd -> sfc /scannow

这可以修复很多系统问题,也包括开始菜单频繁假死之类,你可以从此处查看更多说明:

使用系统文件检查器工具修复丢失或损坏的系统文件​support.microsoft.com

另外,核显也会占用一部分内存作为显存,但一般量比较小(常规桌面使用,网页浏览,一般在100MB-500MB),你可以在任务管理器-性能-GPU查看共享GPU内存占用,如果出现异常可以尝试更新显卡驱动,独显也会使用内存,但是都有专用显存,一般不会出问题

关于为硬件保留的内存异常占用:

首先你的核显用作显存的内存并不会在此类,这是供BIOS,各类硬件驱动使用的内存

  1. win+R -> dxdiag,查看中间的操作系统是不是64位,如果是32位,恐怕只能重装64位解决
  2. win+R -> msconfig -> 引导 -> 高级选项,取消勾选处理器个数和最大内存
  3. 你的主板可能保留了很多内存,你需要进BIOS查看是否有相关设置
  4. 你的内存可能安装有问题,windows识别到了,但无法正常使用,会被标记为为硬件保留,你要查查你的计算机主板或者笔记本随附手册,了解内存安装说明

已压缩内存为0:

右击任务栏的windows徽标,以管理员模式启动powershell(或者启动管理员命令提示符,再输入powershell启动),输入get-mmagent,查看MemoryCompression,PageCombining是否为False,若是,分别输入enable-mmagent -mc和enable-mmagent -pc设置为True

此外有部分推荐关闭Superfetch服务的(自17682版本的win10开始,你应该找不到Superfetch服务,因为它改名叫SysMain了(微软改名部又立功了)),本人亲测开关后,内存占用变化没啥明显感觉,开着有助于系统更快,它可以尝试判断将要运行的程序,预读到内存,前面的MemoryCompression,PageCombining也依赖于此

  • 不过我觉得搜索到这个问题的人,更多的是想确认一个事实
  • 即4G,8G内存的win10 64位系统,一般开机启动系统自身就会占用1.5-2.5GB内存,16G内存的则占用在2.5G-3.5G,且内存越大吃的越多,系统也越快,只有达到一定程度(比如128GB内存),系统才不会继续吃更多,而32位系统则占用的更少(理论上少一半,实际上由于各种优化存在,并不会如此)
  • 你可以做一个简单的减法,在任务管理器-性能页查看使用中的内存,然后减去任务管理器-用户页的内存,再减去性能页GPU的共享内存,剩下的数量在刚开机的时候,应该大致符合上一条所说的规律,并且即使开机使用较长时间,应该也是一个比较稳定的数量,这就说明你电脑的内存占用是正常的

Win10系统内存占用率太高的解决办法,怎么办?相关推荐

  1. hbase占用内存过高_内存占用率过高怎么办?Win10电脑内存占用率很高原因和解决方法...

    内存占用率过高,是电脑十分常见的电脑故障,出现的现象就是什么软件还没有打开,内存占用了70%以上,甚至是99%,出现电脑明显卡顿的问题.不过想要解决内存占用率高不是简单的事情,因为可能性比较多,可能是 ...

  2. win10关闭快速启动_内存占用率过高怎么办?Win10电脑内存占用率很高的原因和解决方法...

    内存占用率过高,是电脑十分常见的电脑故障,出现的现象就是什么软件还没有打开,内存占用了70%以上,甚至是99%,出现电脑明显卡顿的问题.不过想要解决内存占用率高不是简单的事情,因为可能性比较多,可能是 ...

  3. compattelrunner.exe占用磁盘过高_Linux 系统 CPU 占用率太高?

    在使用Linux 系统时,经常会遇到 CPU 占用率太高的问题.此篇文章教你如何解决,排查解决的思路是什么 CPU负载查看方法: 使用vmstat查看系统维度的CPU负载 使用top查看进程维度的CP ...

  4. html5游戏占内存和cpu,IIS解决CPU和内存占用率太高的问题

    发现进程中的w3wp占用率太高.html 通过查询,发现以下:web w3wp.exe是在IIS(因特网信息服务器)与应用程序池相关联的一个进程,若是你有多个应用程序池,就会有对应的多个w3wp.ex ...

  5. word在使用后关闭,后台cpu占用率过高,解决办法

    https://www.zhihu.com/question/68425007/answer/1042990279 有可能是装了NOTEEXPRESS,去选项-加载项-COM加载项里去掉一个NOTEE ...

  6. win10内存占用率过高怎么办_DNF:WIN10玩DNF卡顿,内存占用过高的解决方法

    无论你是喜欢正经的职业百科还是搞笑的DNF趣事,点点关注不迷路 小编会努力继续给大家带来干货满满的文章,您的关注和收藏是最大的支持~ 各位勇士新年快乐,今天是初二了,祝大家玩的开心. 今天给大家分享一 ...

  7. win10内存占用率过高怎么办_8GB内存竟不够用了?卸载预装软件帮你腾出更多内存空间!...

    先说三件CES期间和我们相关的事情: 1. RTX 2000系列移动显卡公布了,有些等不及的厂商已经发布了自家的产品. 2. AMD的新款锐龙移动处理器公布了,包含U系列低压处理器(针对轻薄本)和H系 ...

  8. win10系统system进程占用cpu高怎么解决

    Win10系统经常发现任务管理器中的system进程占用了很高的cpu内存,一直在50%左右,这也导致了多项应用程序运行卡顿,本人是家庭激活版本,也在网上搜索win10系统system进程占用cpu高 ...

  9. win10内存占用率过高怎么办_win10系统内存占用过高怎么解决

    win10系统内存占用过高怎么解决?很多用户都将电脑内存以4GB为标准配备规格,但是仍然会有用户遇到内存不足的问题,不知如何解决的用户,请来看看下面的介绍吧. 使用电脑的时候,有时会遇到内存占用过高, ...

最新文章

  1. ant 修改组件默认样式属性
  2. VBS遍历Excel工作表的方法
  3. centos/Debian/Ubuntu上安装PyCryptodome/Crypto
  4. ubuntu中切换到root账号方法
  5. 01-JDBC概念--JDBC(Java Database Connectivity:Java数据库连接):使用jdbc实现Java与数据库MySQL连接
  6. java中 若干,Java中的随机数发生器。产生若干的复杂性
  7. 初中位似图形作图_教师资格证面试中,哪些篇目最容易抽到?(初中数学篇)...
  8. listview添加列
  9. ssm如何在mapper插入实时的时间_第一个ssm整合
  10. 2017中国HPC TOP100:AI成最大赢家,浪潮和老黄都笑了
  11. 网络相关 doc 命令 netstat
  12. 抢食生鲜,美团最大对手会是拼多多
  13. React Native入门(十四)之动画(1)Animated详解
  14. hexo添加文章更新时间
  15. 1.3 anaconda的安装和使用
  16. Android实现控制第三方音乐播放器暂停/播放
  17. github如何上传代码到仓库(从本地上传代码到github)
  18. 去掉em默认样式 html,HTML的各个标签的默认样式
  19. 【Unity3D】人机交互Input
  20. Linux_FastDFS分布式文件系统——搭建

热门文章

  1. komodo 注册机
  2. 1+x云计算中级--脚本搭建读写分离
  3. 一个公告栏的源码(利用marquee作的)
  4. 网店运营不得当会导致天猫网店降权你知道吗?知米易教你解决
  5. URLEncoder转换字符串问题
  6. 自定义FlowLayout控件实现自定义宽度并换行
  7. 台式计算机演变,电脑的发展史,体验不一样的电脑时代【图文】
  8. 舜宇光学科技2018年净利润达24.9亿元 同比减少14.2%
  9. 集结产学研力量,openGauss南京用户组正式成立
  10. html键盘控制一串元素移动,【案例】使用上下左右键控制元素的移动