ITPub博客

首页 > Linux操作系统 > Linux操作系统 > LINUX 占用较多内存 解释

LINUX 占用较多内存 解释

原创 Linux操作系统 作者:gaopengtttt 时间:2009-08-31 09:50:27 0 删除 编辑

转自 网络

Linux/Unix与windows在管理内存的方式上是不一样的。它的管理方式是充分的利用系统的内存,而windows则是无论使用多大的内存都要使用一定的虚拟内存(linux中swap)。

  所以说即便是一个刚装上不久的linux系统,内存使用量达到90%,也很正常。但是,这个内存占用量不会达到100%的,因为当达到一个占用量的时候,就会启用swap(虚拟内存)。

   (关于为何会使用高的解释:

     a、linux把剩余的内存都用做磁盘缓存了,这样可以减少硬盘读写次数,Linux在磁盘操作上的速度是要比windows快的。这样做并不会影响系统速度。换句话说就是Linux 是先占用,然后再慢慢使用,windows是要用多少就占用多少。Linux 不会让内存空着的,程序用不了就当缓存用。

     b、桌面追求的是反应速度,服务器追求的是吞吐量,两者是有差别的,linux侧重后者。特别体现在任务调度、内存管理。从桌面的角度,尽量要保留一定的空闲内存(如果不够,先将后台进程swap出去),当用户要打开新程序的时候,可以迅速反应。桌面常用的模块预先驻留内存。而linux是著名的lazy的方式。

  Linux/Unix系统是非常稳健的,虽然内存占用显示90%以上,但依然可保证365天以上无须重启。对于Linux系统,评估其压力的主要指标是最近5分钟的负载指数。比如用top去看,可以看到“2.20,2.27,1.81”这样的数字。

  分别表示5分钟内的、10分钟内的、15分钟内排队的进程数。只要第一个数字即5分钟内的负载不大于5,系统就是健康的,不用做任何维护

  如果这个数字大于了5,那么通常系统速度就会变慢,一般有如下几种可能:

  1) 有程序占用大量CPU,使用top命令来检查(看看是否有java程序锁死之类的故障)

  2) 有程序占用大量内存,使得内存真正不够用了(这个才是真正需要加内存的时候)

  比如由于MySQL(和PHP搭配之最佳组合)在较大负载下运行容量为GB级别的数据库导致内存不够用,需要给服务器插入更多物理内存

  3)磁盘系统读写故障,IO吞吐错误造成CPU负载上升,需要光盘引导进入单用户模式扫描修复磁盘,修不好就只能更换新硬盘了

  因此,对于Linux/Unix系统内存占用的百分比,无须过于关心,一般检查系统负载参数即可。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7728585/viewspace-613595/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Linux性能监控
请登录后发表评论 登录
全部评论
wxh gp_22389860

注册时间:2008-10-13

  • 博文量
    649
  • 访问量
    2857530