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

内存使用情况
我的系统是64M内存,在linux下不启动任何应用程序的情况下用free命令查得内存应用情况如下:
  total used free shared buffers
  Mem: 62420 9040 53380 0 2492
 Swap: 0 0 0
Total: 62420 9040 53380

我启动一个应用程序后,用free命令查得内存应用情况如下:
  total used free shared buffers
  Mem: 62420 10780 51640 0 2916
 Swap: 0 0 0
Total: 62420 10780 51640

修改该应用程序,在其中定义一个大小为5M的全局字符数组并进行引用后,用free命令查得内存应用情况如下:
  total used free shared buffers
  Mem: 62420 10792 51628 0 2924
 Swap: 0 0 0
Total: 62420 10792 51628

我不明白为什么我定义一个5M的全局数组并引用,内存used却和原来差不多大呢?高手过来解释一下,谢谢了!

------解决方案--------------------
你可能没搞清楚什么是虚拟内存吧?可以找找这方面的资料看一下,你定义5M内存,系统可能只给你分配4K内存,你的程序照样运行,这就是采用了虚拟内存原理。
------解决方案--------------------
那张贴cceczjxy兄弟已经回答 

http://topic.csdn.net/u/20070907/16/0865c76b-fa1f-43a4-b490-03dbfb41f0b2.html