Linux下交換內(nèi)存耗盡如何查看及如何處理。以及查看shell腳本描述。交換內(nèi)存不足時,啟動應用時會報內(nèi)存不足。
1、啟動應用時報內(nèi)存不足,直接Linux命令行top查看下。swap used100%,0free。

2、reboot服務器能有效的釋放swap,可是很多情況下是不能重啟服務器的。這時就要弄明白是什么占著內(nèi)存。查看下/proc目錄下內(nèi)容,發(fā)現(xiàn)很多數(shù)字命名的目錄,這些就是Linux的進程了。

3、要讓進程釋放swap的方法只有kill掉該進程了。寫個腳本來查看具體是哪些進程占著內(nèi)存啦。
一、對/proc目錄下所有以數(shù)字為名的目錄進行遍歷
二、1目錄是根進程重啟會導致系統(tǒng)重啟,所以直接排除掉。
三、算出每個進程占用內(nèi)存的大小,然后按照大小排序
四、輸出內(nèi)存占用大于1MB的進程

4、將運行結果保存到swap.log文件中

5、查看swap.log.10325這個進程內(nèi)存占用最多有130幾M。

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

注意事項:proc目錄下1目錄不能直接kill掉。