内存交换主要是因为主内存中会有一部分内存单独抽出来用来存放长时间未使用或处于等待状态未执行的数据存放起来,可以理解为一个收纳盒,为真正用起来的数据腾出空间,让他们能有充分的空间。那为什么会叫它收纳盒,是因为你存放到这里面的数据是经过压缩的,这样你就相当于牺牲了部分时间去换取空间了,压缩,意味着 CPU 又忙了,这样的话,又可以看出来 swap 内存上涨的话,某种程度上又可能会引发卡顿问题了。
软件场景中,比如:现阶段比较火的直播专项,举个栗子就拿 dy 来讲,dy 每次刷新视频时,刷到第一个视频时会有比较长的加载时间,随后刷下一个视频的时候就会非常的流畅,几乎可以秒进,秒播放,也是得益于缓存机制的原因,通过一些分析工具,会看到对应的内存上涨了一大块,那是因为后台已经预加载了好几个视频的资源,因此访问速度会非常快,切换视频时只有切换逻辑在走,大大的减少 CPU 开销,还增加了使用体验。