当前位置:  技术问答>linux和unix

关于内存使用情况的问题

    来源: 互联网  发布时间:2016-02-09

    本文导语:  我的系统是64M内存,在linux下不启动任何应用程序的情况下用free命令查得内存应用情况如下:               total         used         free       shared      buffers   Mem:        62420       ...

我的系统是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变量的,程序运行后,如果你这个变量一直没有用,那就不分配空间,至到你开始使用.比如你要使用你5M空间的前1M,那系统分配时,可能分配1M,也可能分配2M
也可能把这5M都分配给你,这也要看系统当前的运行状态而定

|
linux的内存分配策略不是一次性完全分配,有些是用的时候再分配的

|
看看这个兄弟的帖子,可能会对你有帮助

mmap()在内存小时的性能     [已结贴]
http://topic.csdn.net/u/20070901/23/0a5ec793-eef5-4284-9a02-d2043fa41431.html

    
 
 

您可能感兴趣的文章:

  • C++ Vectors 成员 capacity():返回vector所能容纳的元素数量(在不重新分配内存的情况下)
  • redhat9内存使用率高达73%,怎么查看内存具体使用情况
  • linux下free命令显示的内存使用情况分析
  • 求助:java实现显示linux下的cpu占用率,内存使用情况,硬盘占用情况
  • 在AIX(4.3)系统上如何查看内存情况
  • 我的redhat linux7.3因为内存有些少,所以我想随时查看内存的使用情况该如何去做,还有我想关掉(而不是切换)图形界面应该用什么命令
  • 如何编程查看 cpu 内存 占用情况
  • AIX 4.3.X中用什么命令能查看到系统内存的使用情况?
  • 内存使用情况
  • ubuntu的问题。查看内存使用情况的问题
  • Unix/linux下如何监测共享内存的使用情况
  • 系统内存分配的情况???
  • 如何查看某个进程的cpu使用和内存使用情况????
  • 急!!!请问有没有实时监测CPU、内存的占用情况以及网络流量系统调用?
  • 如何取得内存占用情况?
  • 请问在UNIX上如何看一个进程的内存使用情况?
  • HP Unix 查询系统内存占用情况
  • Linux下删除不掉共享内存是什么情况导致的?
  • 用什么函数可以查看内存当前使用情况?
  • 请问, 怎样通过程序方式,获取到当前系统的CPU,内存等情况
  • 哪里有测试内存泄漏情况的工具
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • 关于大于2G内存的使用.....按32位编译的进程怎么使用大于2G的内存?
  • 大家好,我想问下有人用过"linux进程的内存使用解析"中推荐使用的"Ben Maurer写的perl脚本"查看内存么
  • 共享内存一般是怎么使用的,是同消息队列配合使用么
  • solaris 8 下有没有返回系统总物理内存和当前所使用内存大小的函数。(不是top,vmstat命令)
  • 使用VWMARE安装linux的内存使用问题
  • 计算进程的内存使用量应该使用/proc/self/statm哪几个量相加表示?
  • 100分求解如何查看内存最高使用值!!
  • 内核不能使用虚拟内存?
  • 如何减少内存的使用。
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ Vectors 成员 get_allocator():返回vector的内存分配器
  • 我的机器内存128 ,安装redhat9 后,可用内存很少了,如何节省内存呢?
  • C/C++内存池实现介绍及基本要求
  • 奇闻:Apache+Apache JServ 1.1.1+1G内存居然报内存不够,那位高友知道参数设置,把俺的1G内存都利用起来,感激不尽啊
  • c/c++内存堆分配和栈分配理解
  • 怎样读取指定内存地址处指定长度的内存数据???(
  • Ubuntu查看内存,进程相关命令介绍
  • 【操作系统虚拟内存和物理内存疑惑】
  • Linux 共享内存介绍及实现代码
  • 请教一个关于内存分配的问题(系统和DMA共享一块物理内存空间)
  • Linux内存文件系统(ramdisk)的三种实现方式
  • Solaris下如何获得物理内存和虚拟内存的大小?
  • Microsoft IE MSHTML内存破坏远程代码执行漏洞
  • 程序需要共享内存相当大,但是系统的内存有限
  • Microsoft Internet Explorer内存破坏漏洞(CNVD-2013-13096)
  • 遇到奇怪的内存泄露问题,应用程序杀死内存无法释放!
  • linux下进程占用内存空间详解
  • 多个进程对系统V共享内存进行读写,怎样实现对共享内存部分进行加解锁?
  • c/c++服务器程序内存泄露问题分析及解决
  • redhat7.1 p4,700多m内存,经常耗了400m内存,为什么?
  • linux内存文件系统ramfs实现原理
  • 哪位前辈给解释下linux下虚拟内存和物理内存的关系!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3