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

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

1. 交换(Swapping)

交换的核心思想是预留一块存储区域,内核可以将未映射到文件的内存页面放置其中,从而释放内存以供其他用途。交换文件的大小增加了物理内存的有效容量。不过,交换并非万能之策,在交换文件与内存之间复制页面存在成本。当系统的实际内存不足以应对工作负载时,交换会成为主要活动,这就是所谓的磁盘抖动(disk thrashing)。

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

1.1 压缩内存交换(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>,swap
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值