红联Linux门户
Linux帮助

装Fedora机子特别慢的问题

发布时间:2009-09-21 18:18:54来源:红联作者:oyyg
我昨天在自己的破电脑上装了Linux(Fedora 8)操作系统,用硬盘安装的方法安的。结果安装了一天一夜,很无语。
今天总算装完了,开机发现特别慢,半天才打开桌面,应用软件点了半天才打开,很无奈啊。
电脑配置确实有点烂:CPU:Celeron(R) CPU 2.26G
内存:256M
我同时装了Fedora 8和windows xp sp3操作系统,结果windows跑的特别流畅,linux下就简直没法用。
高手指点一下,我这个跑的慢是什么原因,是内存的问题吗?我看了一下在什么都不开的情况下,linux的内存就只剩3M左右了。而windows在开着网页和QQ的情况下还剩8M左右。
如果是这个问题,我就加个内存条试试。
文章评论

共有 14 条评论

  1. DouglasLau 于 2009-10-13 16:20:33发表:

    我做的机房的服务器也差不多是这个配置,现在还没有出过什么问题!

  2. Bruce.Ko 于 2009-09-30 03:42:43发表:

    进来学习一下,内存1G应该可以了!

  3. oyyg 于 2009-09-25 12:53:23发表:

    12# alick


    受教了,谢谢alick,呵呵

  4. alick 于 2009-09-22 12:36:17发表:

    9# oyyg
    google到一个短文

    linux内存查看 free 命令

    在Linux下查看内存我们一般用command free
    [root@nonamelinux ~]# free
    total used free shared buffers cached
    Mem: 386024 377116 8908 0 21280 155468
    -/+ buffers/cache: 200368 185656
    Swap: 393552 0 393552
    下面是对这些数值的解释:
    第二行(mem):
    total:总计物理内存的大小。
    used:已使用多大。
    free:可用有多少。
    Shared:多个进程共享的内存总额。
    Buffers/cached:磁盘缓存的大小。
    第三行(-/+ buffers/cached):
    used:已使用多大。
    free:可用有多少。
    第四行就不多解释了。
    区别:
    第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。
    这 两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是8908KB,已用内存是377116KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
    第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。
    所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached.
    如上例:
    185656=8908+21280+155468
    接下来解释什么时候内存会被交换,以及按什么方交换。
    当可用内存少于额定值的时候,就会开会进行交换.
    如何看额定值(RHEL4.0):
    #cat /proc/meminfo
    交换将通过三个途径来减少系统中使用的物理页面的个数: 
    1.减少缓冲与页面cache的大小,
    2.将系统V类型的内存页面交换出去, 
    3.换出或者丢弃页面。(Application 占用的内存页,也就是物理内存不足)。
    事实上,少量地使用swap是不是影响到系统性能的。

    下面是buffers与cached的区别。
    buffers是指用来给块设备做的缓冲大小,他只记录文件系统的metadata以及 tracking in-flight pages.
    cached是用来给文件做缓冲。
    那就是说:buffers是用来存储,目录里面有什么内容,权限等等。
    而cached直接用来记忆我们打开的文件,如果你想知道他是不是真的生效,你可以试一下,先后执行两次命令#man X ,你就可以明显的感觉到第二次的开打的速度快很多。
    实验:在一台没有什么应用的机器上做会看得比较明显。记得实验只能做一次,如果想多做请换一个文件名。
    #free
    #man X
    #free
    #man X
    #free
    你可以先后比较一下free后显示buffers的大小。
    另一个实验:
    #free
    #ls /dev
    #free
    你比较一下两个的大小,当然这个buffers随时都在增加,但你有ls过的话,增加的速度会变得快,这个就是buffers/chached的区别。

    因为Linux将你暂时不使用的内存作为文件和数据缓存,以提高系统性能,当你需要这些内存时,系统会自动释放(不像windows那样,即使你有很多空闲内存,他也要访问一下磁盘中的pagefiles)
    使用free命令
    将used的值减去 buffer和cache的值就是你当前真实内存使用

  5. zjan999 于 2009-09-22 11:04:17发表:

    我的内存是512+256,跑得还不错

  6. oyyg 于 2009-09-21 23:44:22发表:

    7# onplans



    我现在换成512内存了,跑的已经挺顺畅了。
    谢谢指点,当时装的时候没注意这个问题。呵呵

  7. oyyg 于 2009-09-21 23:42:12发表:

    8# alick

    哦,linux下的内存是一直当作缓存来使用的是吧。只有在内存不够用的时候才使用交换区。
    这确实和windows大不一样,linux下只要交换区没有使用速度估计就慢不下来。不管显示的内存使用了多少。
    请问是这样的吗?

  8. alick 于 2009-09-21 23:35:22发表:

    5# oyyg


    Linux是尽量把内存拿出来使用,这和Windows很不同。
    你有那么多内存,不用白不用。
    不要还带着Windows下的释放内存的思维。

  9. onplans 于 2009-09-21 20:18:24发表:

    建议安装红旗LINUX6,256跑得也流畅

  10. me26659408 于 2009-09-21 20:02:40发表:

    没用到的内存 会被当作缓存使用。。。。
    这样可以提高linux的速度

  11. oyyg 于 2009-09-21 19:15:34发表:

    加了个256的内存条,果然好了,不卡了。
    但是内存用free命令看的时候显示如下:
    total used free shared buffers cached
    Mem: 507028 465484 41544 0 2576 84308
    -/+ buffers/cache: 378600 128428
    Swap: 522104 60 522044
    感觉内存有多少就用多少似的,请问Linux的内存到底是怎么管理的?

  12. alick 于 2009-09-21 19:08:11发表:

    直接删除对应的软件包就行了。

  13. oyyg 于 2009-09-21 18:54:12发表:

    比较郁闷的是我同时装了GNOME和KDE桌面环境,估计这个也是问题。
    有办法去掉一个没?

  14. nahcoiii 于 2009-09-21 18:23:31发表:

    Fedora需要禁用不必要的服务
    此外应该使用轻量级的桌面管理器,比如xfce