用一只麻雀来观察Linux内存分配惰性策略

本文通过实验展示了Linux中虚存与物理内存的映射机制,利用malloc动态申请内存时,虽然虚存增加,但物理内存按需分配。实验还探讨了不同内存归还策略对内存管理的影响,强调Linux内存管理的复杂性和具体情况分析的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

结论先行

我们知道现代的计算机系统,通常分为虚存和物理内存。其中虚存和物理内存之间存在地址映射。

原则上机器的物理内存是宝贵的,所以,Linux使用懒惰的策略来进行分配物理内存,直到虚存被真实使用到!

实验设计

  • malloc来申请内存

仅体现为虚存的增长

  • malloc申请的内存进行逐字节写入访问

造成物理内存被依次分配出来,体现出阶梯状

观察手段

# notice the VIRT RES %MEM cols
top -p $(pidof a.out)

代码

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
#include <limits.h>
#include <stdint.h>

void readAnyKey()
{
   
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值