当前位置: 技术问答>linux和unix
菜鸟提问虚拟内存问题
来源: 互联网 发布时间:2017-01-24
本文导语: 请教高手,我在看虚拟内存与物理地址这块内容, 其中虚拟内存划分为数据段,堆,堆栈等一共是4g空间, 我看linux下默认堆栈大小,可以修改,malloc分配堆大小可以任意分配, 我想问一共4g空间,是不是堆栈过大了...
请教高手,我在看虚拟内存与物理地址这块内容,
其中虚拟内存划分为数据段,堆,堆栈等一共是4g空间,
我看linux下默认堆栈大小,可以修改,malloc分配堆大小可以任意分配,
我想问一共4g空间,是不是堆栈过大了,分配的heap空间就少了?
同理malloc分配过大,是不是影响堆栈的大小呢?
4g虚拟空间的每个段的范围是不是固定死的呢?
谢谢
其中虚拟内存划分为数据段,堆,堆栈等一共是4g空间,
我看linux下默认堆栈大小,可以修改,malloc分配堆大小可以任意分配,
我想问一共4g空间,是不是堆栈过大了,分配的heap空间就少了?
同理malloc分配过大,是不是影响堆栈的大小呢?
4g虚拟空间的每个段的范围是不是固定死的呢?
谢谢
|
可以到cat /proc//maps 命令来查看进程各个区域所在的地址区域大小,这样就清楚了
|
堆可以很大,栈则很小,不过可以自己设置,单位基本都是以KB记的。
数据段的概念不太清楚,是不是指常量及静态变量区,不过都不在以堆和栈中。
数据段的概念不太清楚,是不是指常量及静态变量区,不过都不在以堆和栈中。