33、深入理解内存管理:交换、映射与泄漏检测

深入理解内存管理:交换、映射与泄漏检测

1. 交换(Swapping)

交换的核心思想是预留一些存储空间,让内核可以将未映射到文件的内存页面放置其中,从而释放内存供其他用途。交换文件能增加物理内存的有效大小,但它并非万能。在内存不足的系统中,频繁地将页面复制到交换文件和从交换文件复制回来会产生成本,导致系统主要活动变成交换,即磁盘抖动(disk thrashing)。

嵌入式设备很少使用交换,因为它与闪存存储不兼容,频繁写入会使闪存快速磨损。不过,可以考虑交换到压缩内存(zram)。

2. 交换到压缩内存(zram)

zram 驱动会创建基于 RAM 的块设备,如 /dev/zram0、/dev/zram1 等。写入这些设备的页面会在存储前进行压缩,压缩比在 30% 到 50% 之间,可使可用内存总体增加约 10%,但会增加处理量和功耗。

要启用 zram,需按以下步骤操作:
1. 用以下选项配置内核:

CONFIG_SWAP 
CONFIG_CGROUP_MEM_RES_CTLR 
CONFIG_CGROUP_MEM_RES_CTLR_SWAP 
CONFIG_ZRAM
  1. 在 /etc/fstab 中添加以下内容以在启动时挂载 zram:
/dev/zram0 none swap defaults zramsize=<size in bytes>,swapp
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值