日期:2014-05-16  浏览次数:20729 次

菜鸟提问虚拟内存问题
请教高手,我在看虚拟内存与物理地址这块内容,
其中虚拟内存划分为数据段,堆,堆栈等一共是4g空间,
我看linux下默认堆栈大小,可以修改,malloc分配堆大小可以任意分配,
我想问一共4g空间,是不是堆栈过大了,分配的heap空间就少了?
同理malloc分配过大,是不是影响堆栈的大小呢?
4g虚拟空间的每个段的范围是不是固定死的呢?
谢谢

------解决方案--------------------
可以到cat /proc/<pid>/maps 命令来查看进程各个区域所在的地址区域大小,这样就清楚了
------解决方案--------------------
堆可以很大,栈则很小,不过可以自己设置,单位基本都是以KB记的。

数据段的概念不太清楚,是不是指常量及静态变量区,不过都不在以堆和栈中。