快速业务通道

初学者该如何熟悉Linux内存管理

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-21

  内存是Linux内核所管理的最重要的资源之一,内存管理系统是操作系统中最为重要的部分.对于Linux的初学者来说,熟悉Linux的内存管理非常重要.

  进程是运行于虚拟地址空间的一个程序.可以说,任何在Linux系统下运行的程序都是进程.Linux系统中包括交互进程和批处理进程.交互进程是由Shell控制和运行的,既可以在前台运行,也可以在后台运行.批处理进程不属于某个终端,被提交到一个队列中以便顺序执行.大多数的进程都需要虚拟内存.

  一般需要多少内存

  对于典型的Linux应用系统,128MB内存是合理的选择.如果不运行X-Window系统,那么在一台特殊用途的机器(比如用于调试设备驱动程序的“崩溃和烧毁”系统)上仅用8MB内存就可以工作.

  笔者曾经做过实验,在128MB和256MB下编译内核所需的时间几乎一样,都少于 3分半钟(笔者的Linux发行版本是Mandrake Linux 9.1,内核2.4.21).在一个只有8MB内存的系统上,编译需要的时间会更长一些.类似Web浏览器这样的多媒体应用软件,在内存充足时会运行得更流畅,特别是在一边编译程序,一边上网浏览的时候更是如此.因此,如果只有128MB内存,则预期的性能会有所降低.类似地,如果要开发消耗大量内存的应用程序,可能会要求更多的内存.,需要多少内存由工作需求来决定.

  实时监控内存使用情况

  1.在命令行使用“Free”命令监控内存使用情况 #free

  total used free shared buffers cached

  Mem: 256024 192284 63740 0 10676 101004

  -/ buffers/cache: 80604 75420

  Swap: 522072 0 522072

  上面代码给出了一个256MB的RAM和512MB交换空间的系统情况.第三行输出 (Mem:)显示物理内存.Total列不显示核心使用的物理内存(通常大约1MB).Used列显示被使用的内存总额(第二行不计缓冲).Free列显示全部没有使用的内存.Shared列显示多个进程共享的内存总额.Buffers列显示磁盘缓存的当前大小.第五行(Swap:)对换空间,显示的信息类似上面.如果这行为全0,那么就没有使用对换空间.在缺省的状态下,free命令以千字节(也就是1024字节为单位)来显示内存使用情况.使用-h参数,以字节为单位显内存使用情况;或者使用-m参数,以兆字节为单位显示内存使用情况.还可以通过-s参数,使用命令来不间断地监视内存使用情况:

Empire CMS,phome.net

  #free -b -s5

  这个命令将会在终端窗口中连续不断地报告内存的使用情况,每5秒钟更新一次.

  2.使甩vmstat命令监视虚拟内存使用情况 # vmstat

  procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

  r b swpd free buff cache si so bi bo in cs us sy id wa

  1 0 0 63692 10704 101008 0 0 239 42 126 105 48 45 7 0

  vmstat()命令是一个通用监控程序,是Virtual Meomory Statistics(虚拟内存统计)的缩写.如果使用vmstat命令的时候没有使用任何命令行参数,将会得到一个一次性的报告.vmstat命令报告主要的活动类型有进程(procs)、内存(以千字节为单位)、交换分区(以千字节为单位)、来自块设备(硬盘驱动器)的输入输出量、系统中断(每秒钟发生的次数),以及中央处理单元(CPU)分配给用户、系统和空闲时分别占用的比例.

  虚拟内存实现的机制

  存储管理子系统是操作系统中最重要的组成部分之一.在早期计算时代,人们所需要的内存数目远远大于物理内存,因此设计出了各种各样的策略来解决此问题,其中最成功的就是虚拟内存技术,它系统中有限的物理内存竞争进程所需内存空间得到满足.虚拟内存通过在各个进程之间共享内存,而使系统看起来有多于实际内存的内存容量.Linux支持虚拟内存, 就是使用磁盘作为RAM的扩展,使可用内存相应地有效扩大.核心把当前不用的内存块存到硬盘,腾出内存给其它

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号