首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏linux驱动个人学习

    zRAM内存压缩技术原理与应用

    主流内存压缩技术 目前linux内核主流的内存压缩技术主要有3种:zSwap, zRAM, zCache。 2.1 zSwap zSwap是在memory与flash之间的一层“cache”,当内存需要swap出去磁盘的时候,先通过压缩放到zSwap中去,zSwap空间按需增长。 zswap本身存在一些缺陷或问题: 如果开启当zswap满交换出backing store的功能, 由于需要将zswap里的内存按LRU顺序解压再swap out, 这就要求内存分配器支持LRU功能。 2.3 zCache zCache是oracle提出的一种实现文件页压缩技术,也是memory与block dev之间的一层“cache”,与zswap比较接近,但zcache目前压缩的是文件页,而zSwap zsmalloc zbud z3fold zSwap(有实际swap device) ×(不可用) √(可用) √(最佳) zSwap(无实际swap device) √(最佳) √(可用) √(可用

    5.4K60发布于 2021-05-10
  • 来自专栏【腾讯云开发者】

    啃下 Linux 内核最难动的代码:腾讯工程师重构Swap子系统

    问题二:zswap 的困境 这种设计也给zswap子系统¹⁷的用户带来麻烦。zswap 的工作原理是:在换出流程中拦截页面,不将其写入磁盘,而是将其压缩后存回内存。 这也就导致,zswap无法在没有真实物理设备时使用,且zswap可压缩内存的量完全限制于物理块设备的大小:页面首次进入 zswap 时,必须立即在后备设备上预分配一个槽位。 这意味着,即使从不打算真正将页面写入磁盘,每次 zswap 使用都必须在后备设备上占用空间,造成大量存储空间浪费,甚至使 zswap 在没有可用后备存储的系统上无法使用。 :指向 zswap 子系统中的一个槽位(由 ⁠zswap_entry⁠ 指向) ⁠VSWAP_FOLIO⁠ :对应一个当前仍驻留于 RAM 的页面(由 ⁠swap_cache⁠ 指示) Chris Li 也同样担忧开销问题¹⁹,并指出该设计过于注重改进 zswap,而忽略了其他方面。

    24500编辑于 2026-04-09
  • 来自专栏johnhuster

    操作系统之内存压缩

    上图展示的是linux系统用到的zswap内存压缩技术,如上图所示,zswap延迟了内存换入换出的频率,为换页过程提供了缓存区,从而可以通过批量操作磁盘来降低单次读写磁盘的低效问题。

    1K50编辑于 2022-10-28
  • 来自专栏hotarugaliの技术分享

    ArchLinux下设置交换空间

    zswap:可以带来相似的益处(和相似的代价)。两者不同的是 zswap 将页面压缩后换入交换空间,而 zram 则换入内存。 因此,相较于 zswap,zram 的响应是更快的。

    3.9K20编辑于 2022-03-18
  • 来自专栏技术实操

    解密虚拟化弹性内存:五大核心技术与实施策略

    内存超分技术通过三层机制实现物理内存复用:•气球驱动(Ballooning):动态回收空闲内存•内存压缩:zSwap技术实现5:1压缩比•页共享:KSM内核同页合并减少30%内存占用性能影响测试数据:超分比例

    38510编辑于 2025-08-19
  • 来自专栏全栈程序员必看

    Ubuntu 21.04 lts_Ubuntu 21.10

    Ubuntu 22.04 的性能应该会有所提高,尤其是在引入 zswap 之后。 火狐作为 Snap 默认情况下,Firefox 现在将作为 Snap 包包含在内。

    1.9K20编辑于 2022-10-02
  • 来自专栏LINUX阅码场

    宋宝华:Linux内核中用GFP_ATOMIC申请内存究竟意味着什么?

    在内存紧急的路径上(比如不想睡眠,要求低延迟;或者要求内存吃紧的情况下,仍然可以从min水位以下申请内存),哪怕是进程上下文,我们也建议可以考虑使用GFP_ATOMIC 比如田涛童鞋最近在mm/zswap.c

    5.9K31发布于 2021-01-12
  • 来自专栏程序员

    深入剖析进程、线程与虚拟内存

    2m_entry(vma,address);returntrue;}//优势:减少TLB压力,提升性能//2MB页:一个TLB条目覆盖2MB内存//4KB页:需要512个TLB条目覆盖相同范围内存压缩(Zswap /Zram)展开代码语言:CAI代码解释//传统交换vs内存压缩交换voidhandle_memory_pressure(void){if(zswap_enabled){//1.选择候选页进行压缩page

    35410编辑于 2025-12-08
  • 来自专栏带你玩转Jetson系列教程

    Jetson 中的 Zram 技术详解(1)

    这个 swap 分区在 Jetson 刷机教程中磁盘格式化中已经设置过; 首先,Zram 是 linux 内存子系统(mm)中,内存支持的压缩三个组件之一;其他的两个分别是 zcache 和 zswap

    97910编辑于 2024-07-07
  • 来自专栏linux驱动个人学习

    宋宝华:Linux内核中用GFP_ATOMIC申请内存究竟意味着什么?

    就有大量的案例 在内存紧急的路径上(比如不想睡眠,要求低延迟;或者要求内存吃紧的情况下,仍然可以从min水位以下申请内存),哪怕是进程上下文,我们也建议可以考虑使用GFP_ATOMIC 比如田涛童鞋最近在mm/zswap.c

    86830编辑于 2022-11-18
  • 来自专栏山河已无恙

    Linux 性能调优之 CPU 亲和性配置

    memory.swap.peak cgroup.threads memory.events memory.zswap.current cgroup.type memory.events.local memory.zswap.max cpu.idle memory.high

    2.4K10编辑于 2024-05-20
  • 来自专栏LINUX阅码场

    Linux Kernel中AEP的现状和发展

    目前swap的最大问题就是传统磁盘的延迟问题,很容易造成系统无响应,这也是为什么有zswap这样的技术出现。 PMEM的低延迟特性完全可以消除swap的延迟问题。

    3.7K50发布于 2019-06-04
  • 来自专栏LinkinStar's Blog

    《笨开发学习操作系统》3内存

    Linux 中叫 KSM(Kernel Same-page Merging) 内存压缩:当内存不足时,还会触发压缩的机制,Linux 中的 zswap,将数据压缩后节省资源,避免频繁的磁盘操作 透明大页

    67010编辑于 2022-09-01
  • 来自专栏振兴的Android修炼手册

    Android内存泄漏检测工具使用手册

    procrank :获取所有进程的内存使用情况,排序是按照 Pss 大小,详细输出每个 PID 对应的 Vss 、 Rss Pss 、Uss 、 Swap 、 PSwap 、 USwap 、 ZSwap

    4.4K31发布于 2020-06-08
  • 来自专栏人人都是极客

    五万字 | 深入理解Linux内存管理

    3.2.4 Slub实现 3.3 Kmalloc 3.4 Vmalloc 3.5 CMA 4.1 内存规整 4.2 页帧回收 4.3 交换区 4.4 OOM Killer 5.1 ZRAM 5.2 ZSwap 内核还有三个内存压缩技术zram、zswap、zcache,图里并没有画出来。 它们产生的原因并不相同,zram和zswap产生的原因是因为把匿名页写入swap区是IO操作,是非常耗时的,使用zram和zswap可以达到用空间换时间的效果。 五、物理内存压缩 暂略 5.1 ZRAM 5.2 ZSwap 5.3 ZCache 六、虚拟内存映射 开启分页内存机制之后,CPU访问一切内存都要通过虚拟内存地址访问,CPU把虚拟内存地址发送给MMU

    6K48编辑于 2022-08-26
  • 来自专栏山河已无恙

    Linux 性能调优之CPU上下文切换

    memory.swap.peak cgroup.threads memory.events memory.zswap.current cgroup.type memory.events.local memory.zswap.max cpu.idle memory.high

    1.7K30编辑于 2024-09-12
领券