无忧启动论坛

标题: 关于linux使用内存时占用率大的讲解!转帖! [打印本页]

作者: my9823    时间: 2010-12-1 15:56
标题: 关于linux使用内存时占用率大的讲解!转帖!
原帖地址:  http://blog.sina.com.cn/s/blog_56d8ea900100c22v.html

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系统内存占用的百分比,无须过于关心,一般检查系统负载参数即可。
作者: ones    时间: 2010-12-1 19:13
所以linux注定只能用在服务器上,在桌面客户端上哪有windows系统的操作便捷,未来的计算机必定可以做到人机直接交互,linux对这个方向一点迹象都没有,图形界面差,操作还追求什么高效的shell环境。以后都直接人机对话了,谁还去敲什么键盘,硬件发展的那么快,什么高效的shell环境也将不复存在;而windows已经集成语音操作功能了,虽然普通话识别率不是很高,但也算好用了。
不过,windows是不开源的,而且是要收费的,因为内核不开源,定制系统很难,而linux全部开源(谷歌这垃圾不开源),系统高度可定制性,在服务器系统和嵌入式系统都很成功,现在也越来越多的人开始学linux系统了,但即使这样,在桌面客户端上要跟上windows系统,还有很长的路要走
linux和windows相搏,谁都不会坐以待毙,以后如何还是未知之数
作者: my9823    时间: 2010-12-1 21:04
是啊,在嵌入式方面不得不说占有很大市场, gooel的android平台、三星和摩托罗拉也有linux手机、还有很多平板和手机,但pc市场很是冷淡,很多品牌电脑,出厂是linux,到了销售点,一律换成xp或win7,机箱上的linux序列号(红旗)简直就是摆设!




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3