帮你解决Linux系统Swap耗尽问题

时间:2015-05-16290举报小编:123

    大家在使用Linux的过程中,有时会遇到交换内存swap耗尽的情况,面对这个问题,我们如何解决呢?现在我就和大家一起分享下这个问题的解决方法。

    解决方法:

    1、启动应用时报内存不足,直接Linux命令行top查看下。swap used100%,0free。

    2、reboot服务器能有效的释放swap,可是很多情况下是不能重启服务器的。这时就要弄明白是什么占着内存。查看下/proc目录下内容,发现很多数字命名的目录,这些就是Linux的进程了。


    3、要让进程释放swap的方法只有kill掉该进程了。写个脚本来查看具体是哪些进程占着内存啦。

    一、对/proc目录下所有以数字为名的目录进行遍历

    二、1目录是根进程重启会导致系统重启,所以直接排除掉。

    三、算出每个进程占用内存的大小,然后按照大小排序

    四、输出内存占用大于1MB的进程


    4、将运行结果保存到swap.log文件中


    5、查看swap.log.10325这个进程内存占用最多有130几M。


    6、直接kill掉,然后再top查看。ok,swap一下子释放了很多,搞定。


    注意事项:proc目录下1目录不能直接kill掉。

    以上就是Linux系统交换内存swap耗尽的解决方法了,有遇到这个问题的用户,可以参考下上面的解决方法,希望对你的问题的解决有所帮助。