没有合适的资源?快使用搜索试试~ 我知道了~
Linux 内存杂记(01)1
资源详情
资源评论
资源推荐
Linux
内
存
杂
记
(01)
关
于
malloc()
首
先
需
要
明
确的
是
,
malloc()
是
glibc
一个
库
函
数
,
并
不
是
系统
调
用
。
malloc()
本
质
上
其
实就
是
封
装
了
brk()
以
及
mmap()
等
系统
调
用
,
同
时
在
内
部进
行
了
一
些
内
存
管
理
在
进
程
的
虚
拟
内
存
中
,
诸
如
Stack
、
Heap
以
及
BSS
等
区
域
,
我
们会
称
为
其
为
VMA
,
即
VirtualMemoryArea
VMA
其
实就
是
一
段
连
续
的
、
功
能
相
同
的
一
段
虚
拟
内
存
如
上
图
所
示
,
malloc()
的
本
质
就
是
在
其
实
现
内
部通过
调
用
brk()
或
者
是
mmap()
来
改
变
进
程
的
虚
拟
内
存
空
间
,
从
而
给
进
程
分
配
虚
拟
内
存
的
。
而
虚
拟
内
存
到
物
理
内
存
之
间
的
映
射
,
由
操
作
系统
管
理
,
用
户
进
程
无
法
干
预
此
过
程
VSSvsRSS
VSS
,
即
VirtualSetSize
,
表
示
进
程
所
使
用
的
虚
拟
内
存
大
小
;
RSS
,
即
ResidentSetSize
,
即
进
程
所
使
用
的
物
理
内
存
大
小
。
进
程
的
VSS
和
RSS
可
以
通
过
top/htop
命
令
进
行
查
看
,
对
应
结
果
中
的
VIRT
以
及
RES
因
此
,
我
们
一
定
要
明
确
,
使
用
malloc()
申
请
虚
拟
内
存
,
并
不
代
表
着
物
理
内
存
的
分
配
,
只
有
应
用
程
序
访
问
了
申
请
的
虚
拟
内
存
区
域
时
,
操
作
系统
才
会为
进
程
分
配
物
理
内
存
页
Experiment
我
们
可
以
通过
将
overcommit_memory
设
置
为
1
来
允
许
进
程
申
请
不
超
过
虚
拟
内
存
大
小
的
内
存
,
从
而
观
察
内
存
申
请
与
内
存
分
配
之
间
的
区
别
sudoswapoff-a
sudosh-c'echo1>/proc/sys/vm/overcommit_memory'
运
行
上
面
的
简
易
程
序
就
会
发
现
,
我
们使
用
malloc()
能
够
成
功
申
请
的
内
存
数
量
要
远
超
于
物
理
内
存
的
大
小
虚
拟
内
存
和
物
理
内
存
之
间
的
映
射
,
本
质
上
就
是
一
种
LazyLoad
,
或
者
说
懒
加
载
,
对
提
高
系统
性
能
和
负
载
有
着
至
关
重
要
的
作
用
关
于
overcommit_memory
MemoryOvercommit
表
示
操
作
系统
承
诺
给
进
程
的
内
存
大
小
超
过
了
实
际
可
用
的
物
理
内
存
,
注
意
是
物
理
内
存
。
而
overcommit_memory
这
一
内
核
参
数
决
定
了
操
作
系统
如
何
对
待
MemoryOvercommit
当
overcommit_memory=2
时
,
可
通过
设
置
overcommit_ratio
来
设
置
可
申
请
内
存
的
阈
值
MemoryLimit=(PhysicalRAM*vm.overcommit_ratio/100)+Swap
同
时
,
在
glibc
中
,
malloc/free
也
是
使
用
内
存
池
实
现
的
,
也
就
是
说
,
每次
malloc/free
并
不
会
对
应
着
一
次
系统
调
用
,
glibc
很
可
能
攒
够
了
一
波
内
存
之
后
才
将
其
归
还
给
内
核
页
框
管
理
Buddy
Linux
内
核
采
用
Buddy
,
即
伙伴
算
法
来
管
理
页
框
,
以
满
足
快
速
内
存
申
请
的
需
求
Buddy
算
法
本
身
并
不
复
杂
,
内
存
区
中
的
页
框
被
组
合
成
一
些
内
存
块
,
每
个
内
存
块
包
含
2^k
个
连
续
的
页
框
,
这
些
不
同
大
小
的
内
存
块
使
用
一个
数
组
保
存
,
并
且
相
同
大
小
的
内
存
块
之
间
采
用
链
表
进
行
连
接
如
上
图
所
示
,
对
于
数
组
中
的
第
0
个
元
素
来
说
,
保
存
了
由
2^0=1
个
连
续
页
框
组
成
的
不
同
内
存
块
。
而
对
于
第
2
个
元
素
来
说
,
链
表
中
的
内
存
块
大
小
为
2^2=4
个
Page
,一个
Page
的
大
小
为
4096KB
因
此
,
当
数
组
的
长
度
为
10
时
,
最
大
的
连
续
内
存
块
即
为
1024
个
连
续
页
框
,
组
成
大
小
为
4MB
的
连
续
内
存
可
通过
/proc/buddyinfo
来查
看
当
前
系统
的
buddy
数
组
情
况
通
常
我
们
只
需
要
关
注
Normal
所
在
的
那
一
行
,
以
1856
为例
,
这
表
示
系统
中
存
在
1856
个
由
1024
个
页
框
所
组
成
的
连
续
内
存
块
,
它
们
总
计
占
用
了
约
7G
的
内
存
空
间
Slab
slab
中
文
可
以
翻
译
为
厚
块
、
厚
板
,
但
是
相
对
于
Buddy
数
组
中
的
内
存
块
而
言
,
slab
应
该被认
为
是
“
薄
板
”
Buddy
内
存
分
配
的
粒
度
还
是
比
较
大
的
,
最
小
的
连
续
内
存
为
一个
页
框
,
即
4KB
。
但
是
我
们
有时
需
要
分
配
更
小
的
内
存
,
拿
着
一
页
内
存
来
用
就
太
浪
费
了
,
因
此
就
有
了
slab
,
把
Buddy
中
的
一
块
内
存
继续
切割
成
多
个
小对
象
,
供
内
核
进
行
使
用
普通网友
- 粉丝: 17
- 资源: 314
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0