• 释放linux系统的内存

    2008-05-29 | Tag:linux

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://snowyowls.blogbus.com/logs/21917805.html

    今天惊愕地发现,主节点上8G内存被不知道什么进程吃掉了整整6G有余,正常的计算快要维持不下去了,遂处理之。

    先看看内存使用状况

    [root@node1 ~]# free -m
                 total       used       free     shared    buffers     cached
    Mem:          8004       6557       1446          0        163       5630
    -/+ buffers/cache:        763       7240
    Swap:         1983          0       1983

    把内存里的数据暂时写到硬盘里

    [root@node1 ~]# sync

    修改 /proc/sys/vm/drop_caches文件

    [root@node1 ~]# echo 3 > /proc/sys/vm/drop_caches
    [root@node1 ~]# cat /proc/sys/vm/drop_caches

    再看内存 

    [root@node1 ~]# free -m
                 total       used       free     shared    buffers     cached
    Mem:          8004        631       7372          0          0         60
    -/+ buffers/cache:        570       7433
    Swap:         1983          0       1983

    终于释放出来了 


    收藏到:Del.icio.us




    引用地址:

    评论

  • 我笑笑
  • 我正在学习amber,你写得很好,希望以后多多帮助!
  • 第一次来,喜欢你的博客,希望我们成为朋友
    回复豆子说:
    谢谢
    2008-06-12 20:50:02
  • 主要占用内存的是Cached memory。然而那只是一个硬盘缓存,OS有时候会自动将内存用cached占满,在程序申请内存的时候会自动释放,你没必要管它。
    回复没有必要说:
    谢谢你的提醒,我发现确实是写入硬盘的缓存,我减少写入硬盘的频率之后占用内存的状况就明显不同了
    2008-06-12 20:49:46