Windows11系统下MemoryCompression导致内存占用率过高

本文主要是介绍Windows11系统下MemoryCompression导致内存占用率过高,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

. # 📑前言
本文主要是win11系统下CPU占用率过高如何下降的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是青衿🥇
☁️博客首页:CSDN主页放风讲故事
🌄每日一句:努力一点,优秀一点

在这里插入图片描述

目录

文章目录

  • **目录**
    • 前言
    • 关于内存压缩
    • 关闭内存压缩
      • 1、打开任务管理器
      • 步骤2、打开资源监视器
      • 3、工作集排序
      • 4、关闭内存压缩
    • 查看MemoryCompression状态
    • 开启内存压缩
        • Windows 11-微软公司于2021年发布的桌面端操作系统
    • 扩展Windows 11版本
  • 📑文章末尾


前言

应该很多升级了win11系统的小伙伴都注意到了,Win11默认开启了内存压缩功能。
其实微软早在Win10中就已经启用了内存压缩机制,如今在Win11中也继续启用。

关于内存压缩

所谓内存压缩,在内存中开辟一部分空间,存放不使用的内存数据,但存放前使用压缩算法压缩这部分数据,即可在内存中使用较少的空间存储之前较大的数据.由于目前CPU性能逐渐过剩,而IO成为瓶颈,内存压缩技术可以避免/减少内存使用率较高时对硬盘交换分区的使用,防止内存颠簸(频繁的分页交换)的发生
总之,内存压缩以部分CPU资源的代价换来了更大的内存空间,同时避免了传统swap的高延迟.
但是讽刺的是,这个内存压缩本身是我电脑上占用内存最大的进程.
电脑开了几个页面,系统内存占用率就飙升,然后看了一下任务管理器

关闭内存压缩

1、打开任务管理器

打开任务管理器后查看,然后
在这里插入图片描述

步骤2、打开资源监视器

然后我打开资源监视器(在任务管理器的性能页),发现了“工作集”和“可共享”,“专用”三种。专用是任务管理器中每项进程显示的,工作集(也就是统计出的90多占用)内则包含了可共享的
在这里插入图片描述

3、工作集排序

此时可以按工作集进行降序排序,工作集这一列占用最高的是“MemoryCompression”这一项(我已经关闭,所以没显示),即“内存压缩”,作用是当内存管理器觉察到内存不够用时,将无用的内存进行压缩,并放在物理内存上,所以我的磁盘使用也一度逼100%。
(按理说,这个功能会提高我的cpu负载,但应该会降低内存占用才对,不过结果确实搞得我cpu、内存、磁盘三高。)

4、关闭内存压缩

于是我找到关闭该功能的方法,管理员权限打开powershell在这里插入图片描述
输入disable-mmagent -mc,之后重启电脑,终于把三高降下去了。因为这个程序保护锁定了那些被压缩优化

查看MemoryCompression状态

查看状态get-mmagent

如果后续你还想开启内存压缩,开启的方法跟关闭的方法是差不多的。

开启内存压缩

依然是先调出运行窗口,输入【Powershell】,回车打开命令行,然后使用以下命令:enable-mmagent -mc。

Windows 11-微软公司于2021年发布的桌面端操作系统

Windows 11百科

Windows 11是由微软公司(Microsoft)开发的操作系统,应用于计算机和平板电脑等设备 。于2021年6月24日发布 ,2021年10月5日发行 。
Windows 11提供了许多创新功能,增加了新版开始菜单和输入逻辑等 ,支持与时代相符的混合工作环境,侧重于在灵活多变的体验中提高最终用户的工作效率 。截至2022年10月12日,Windows 11正式版已更新至22000.1098版本 ;预览版已更新至25217版本 。
2022年5月19日,微软宣布Windows 11已可以广泛部署(broad deployment),意味着任何拥有符合Windows 11最低配置要求的PC都应该能够安装该系统。
2022年7月24日,微软正式上架了Win11的购买选项,Win11家庭版的国行售价为1088元,专业版则仅支持从Win10进行升级,无法直接购买。

扩展Windows 11版本

Windows 11包括以下版本:Windows 11家庭版、Windows 11专业版、Windows 11企业版、Windows 11专业工作站版、Windows 11教育版、Windows 11混合现实版 ;延伸版本为Windows 11 22H2(代号为Sun Valley 2,即“太阳谷2”),将于2022年9月发布  。

版本更新
2022年5月11日,微软现推送了 Windows 11 KB5013943 版本更新,主要是一些 bug 修复和小改进,没有附带新功能。安装完补丁后,Win11 正式版版本号更新至 22000.675,用户将看到 Windows Search 的新界面。
2022年9月1日,微软Windows 11安卓子系统WSA近日升级到了 2207.40000.8.0 版本,除了改善键盘使用体验,应用启动时新增操作提示外,微软官方放出了该版本的完整更新内容。 
2022年9月21日,微软宣布“Windows 11 2022 更新”开始在 190 多个国家 / 地区推出,更新后版本号为 22621.521。
2022年9月30日,微软面向 Beta 预览版用户推送了 22621.730/22623.730 (KB5017385) 版本更新,带回了平板电脑优化的任务栏。10 月 12 日,微软发布了 Windows 11 版本 22H2 的“星期二补丁”更新,累积更新为 KB5018427 (OS 内部版本 22621.674)。在本次更新中,微软解决了 Windows 操作系统的安全问题。
2022年10月12日,微软发布了Windows 11 21H1 版本 Build 22000.1098,累积更新补丁为 KB5018418。本次更新微软解决了 Windows 操作系统的安全问题。
2022年10月,微软向 Release 预览通道发布了 Windows 11 22H2 Build 22621.675(KB5019509)。新的 Build 版本为所有 Release 预览用户带来了标签式文件资源管理器、任务栏溢出菜单和其他一些新功能。 
2022年11月11日,微软为Win11用户推送了KB5019157补丁。此次更新修复的多个 Bug,例如错误代码 0x80070005 的问题,而且还解决了 Microsoft 远程桌面时 D3D9 停止工作的问题,而且新版本还提供了 Quick Assist 应用程序。
2022年11月16日,微软在 GitHub 上线了 WSL 1.0.0 版本,宣布 Windows 11的 Linux 子系统删除 Preview 标签,迎来正式版。
2022年11月18日,微软 Windows 预览体验计划的开发和 Beta 频道中为 Windows 安卓子系统(Windows Subsystem for Android)推出了一个新的更新,更新后版本变为 2210.40000.7.0,此次更新的重点是进一步改进体验,在功能方面没有大的更新。

📑文章末尾

本文主要是win11系统下CPU占用率过高如何下降的文章,如果有什么需要改进的地方还请大佬指出⛺️
在这里插入图片描述

这篇关于Windows11系统下MemoryCompression导致内存占用率过高的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/447112

相关文章

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

C#多线程编程中导致死锁的常见陷阱和避免方法

《C#多线程编程中导致死锁的常见陷阱和避免方法》在C#多线程编程中,死锁(Deadlock)是一种常见的、令人头疼的错误,死锁通常发生在多个线程试图获取多个资源的锁时,导致相互等待对方释放资源,最终形... 目录引言1. 什么是死锁?死锁的典型条件:2. 导致死锁的常见原因2.1 锁的顺序问题错误示例:不同

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

Java循环创建对象内存溢出的解决方法

《Java循环创建对象内存溢出的解决方法》在Java中,如果在循环中不当地创建大量对象而不及时释放内存,很容易导致内存溢出(OutOfMemoryError),所以本文给大家介绍了Java循环创建对象... 目录问题1. 解决方案2. 示例代码2.1 原始版本(可能导致内存溢出)2.2 修改后的版本问题在

大数据小内存排序问题如何巧妙解决

《大数据小内存排序问题如何巧妙解决》文章介绍了大数据小内存排序的三种方法:数据库排序、分治法和位图法,数据库排序简单但速度慢,对设备要求高;分治法高效但实现复杂;位图法可读性差,但存储空间受限... 目录三种方法:方法概要数据库排序(http://www.chinasem.cn对数据库设备要求较高)分治法(常

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

Redis多种内存淘汰策略及配置技巧分享

《Redis多种内存淘汰策略及配置技巧分享》本文介绍了Redis内存满时的淘汰机制,包括内存淘汰机制的概念,Redis提供的8种淘汰策略(如noeviction、volatile-lru等)及其适用场... 目录前言一、什么是 Redis 的内存淘汰机制?二、Redis 内存淘汰策略1. pythonnoe

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬