| 接口 | madvise(2) |
|---|---|
| 立即释放 | MADV_DONTNEED |
| 延迟释放 | MADV_FREE(4.5+) |
| 验证 | smaps_rollup 的 Rss 变化 |
C 片段
C 片段
madvise(addr, len, MADV_DONTNEED); // 立即释放,后续访问可能重读
madvise(addr, len, MADV_FREE); // 标记可回收,压力时再丢应用用 madvise 主动释放区间页:DONTNEED 立即丢弃(文件页可重读、匿名页数据丢失),FREE 延迟回收但在内存紧张前保留数据。
| 接口 | madvise(2) |
|---|---|
| 立即释放 | MADV_DONTNEED |
| 延迟释放 | MADV_FREE(4.5+) |
| 验证 | smaps_rollup 的 Rss 变化 |
madvise(addr, len, MADV_DONTNEED); // 立即释放,后续访问可能重读
madvise(addr, len, MADV_FREE); // 标记可回收,压力时再丢