windows10 th2中引入的内存压缩技术是什么原理? 财富值46

2016-10-04 19:46发布

Windows10 TH2中引入的内存压缩技术是什么原理?
10条回答
小睿
1楼 · 2016-10-04 20:02.采纳回答
看了楼上的回答,好像跟linux里的zswap差不多
繁华只有寂寞
2楼-- · 2016-10-04 20:01
就是在原来分页系统加了一层。当内存不够的时候,分页系统会把不常使用的页保存到磁盘,然后设置该页不存在,下次访问的时候会触发缺页异常,异常处理再从磁盘加载保存的页面数据,重新分配物理页面。
有内存压缩,就是把要置换出去的分页先压缩内存,不保存到磁盘了。缺页的时候从内存压缩中解压,这样显然比磁盘快很多。当内存继续不够的时候,可以把压缩页保存到磁盘,比不压缩保存的数据更少,也更快。而且内存的压缩率往往很高,1:0.5不成问题,那么32g就可以当64g用了。
或许有人会关心效率问题,这个内存压缩的核心还是分页机制,分页系统可以筛选出不常用的页,因此性能是没多大影响的。
乐气腾腾
3楼-- · 2016-10-04 19:59
Windows 10里引进了一项新技术:内存压缩。
以前,当物理内存快要耗尽的时候,windows会把一些不常用的内存数据转移到硬盘上的虚拟内存文件(pagefile)里,以释放物理内存给需要的程序。这样做有个坏处:当你又需要访问保存在pagefile里的数据的时候,因为需要从硬盘里读取,所以速度会非常慢,毕竟硬盘和内存的速度天差地别,即使你用的是SSD。
而更好的解决方案就是把这些数据继续留在物理内存里。但是物理内存已经见底,怎么办呢?Windows 10使用了内存压缩技术,将一部分不常使用的内存数据打包压缩起来,等到有程序需要访问那些数据的时候,再解压缩出来。因为这些都是在内存中进行的,所以速度非常快,用户不会感觉到从硬盘读取数据时候的卡顿感。唯一的额外开销可能就是增加了CPU使用率,毕竟要压缩和解压缩,不过在当今CPU过剩的时代,这根本不算事儿。
当然,内存压缩只会在物理内存使用率较高的时候才会发生,所以不会每个人都有一个内存占用超高的system进程。而且内存压缩也是有极限的,内存数据确实太多的话,Windows 10还是会把一部分数据放到硬盘上。
转自微软社区
Rebecca莹莹
4楼-- · 2016-10-04 19:59

一周热门 更多>