通过减少访问交换文件(swap file) 所需时间,内存压缩技术能够提升系统性能。 当计算机物理内存耗尽的时候,页面交换(page swapping)机制会将系统的本地硬盘空间作为补充内存,在硬盘和物理内存之间按需交换页面,这是一种经过验证的可以有效防止系统崩溃的机制。但是硬盘的访问速度要比内存至少缓慢一个数量级,因此页面交换机制会导致严重的虚拟机性能问题。 经过不断对比,内存缓存技术会使用一小部分内存空间来存储经常使用的数据。
如果需要使用的数据恰好位于缓存当中(也被称为cache hit),那么访问就能够达到内存的速度。如果需要使用的数据不在缓存当中(也就是cache miss),那么这些……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
通过减少访问交换文件(swap file) 所需时间,内存压缩技术能够提升系统性能。
当计算机物理内存耗尽的时候,页面交换(page swapping)机制会将系统的本地硬盘空间作为补充内存,在硬盘和物理内存之间按需交换页面,这是一种经过验证的可以有效防止系统崩溃的机制。但是硬盘的访问速度要比内存至少缓慢一个数量级,因此页面交换机制会导致严重的虚拟机性能问题。
经过不断对比,内存缓存技术会使用一小部分内存空间来存储经常使用的数据。如果需要使用的数据恰好位于缓存当中(也被称为cache hit),那么访问就能够达到内存的速度。如果需要使用的数据不在缓存当中(也就是cache miss),那么这些数据就必须从硬盘当中进行加载。
内存压缩技术是根据缓存机制变化而来的,它被用来解决由于没有足够时间访问磁盘而导致的内存过度分配问题。这种方式不是简单地将不常用的内存页面发送到磁盘交换文件当中,而是首先压缩这些不常用的内存页面,之后将其存储到虚拟机内存的一个小区域当中,这个区域也被称为内存压缩缓存。这种方式能够释放内存、提升内存的可分配空间。如果过段时间仍然需要使用被压缩的内存,那么相比于从交换文件当中提取未压缩的数据来说,从缓存当中提取压缩页面、解开压缩、将页面恢复到工作内存当中会是一个十分快速的过程。
像VMware ESXi这样的hypervisor允许管理员启用或者禁用内存压缩缓存,或者为每台虚拟机设定不同的压缩缓存空间。默认情况下,VMware将内存压缩比例设定为10%,但是管理员可以将其更改为从5%到100%的任何数值。
需要记住的是,为缓存所预留的内存空间并不在虚拟机的可分配内存空间之内。比如,如果为一台缓存比例为10%的虚拟机提供1GB,那么虚拟机当中的100GB将会被用于缓存。这种方式的思路在于100GB的缓存空间也许能够容纳200GB或者更多的不常用数据,可以从虚拟机内存当中释放这些空间以供其他方面使用。内存压缩缓存的开销——以解压数据所需要的时间为单位进行测量——应该超过没有磁盘交换情况下释放空闲内存的所需时间。
相关推荐
-
Hypervisor动态分配内存改善VM性能系列一:概述(下)
Hypervisor动态分配内存改善VM性能系列一上半部分我们详细介绍了内存过量分配和动态内存技术,接下来让我们继续了解内存压缩和透明页共享技术。