解決/tmp(swap)文件系統報無可寫空間的錯誤
WARNING: /tmp: File system full, swap space limit exceeded
系統有時出現如下類似報錯: 出現這種報錯有如下幾種常見的原因: 1)物理內存不夠用; 2)Swap空間不夠用; 3)某些用戶在使用/tmp文件系統; 4)特定程序占用大量內存; 5)某些錯誤的腳本無限耗盡資源。 對于以上的原因造成的報錯可以采取如下措施: 1)增加物理內存。 2)增加Swap - 如下方法可以簡單地實現(注:增加的Swap會隨著系統的重起而消失) #mkfile [g | k | b | m] /swap #swap -a /swap - 運行“swap -l“可以確認追加的Swap。 3)告知用戶/tmp的使用時注意事項。 4)Kill程序。 5)修改腳本。 查找報錯的原因: - 使用命令可查出占用最大資源的程序或有無無限耗盡資源的腳本。 # /usr/bin/ps -el | sort -rn -k 10 例:如何計算占資源大小 > bash-2.05# /usr/bin/ps -el | sort -rn -k 10
16981
> 8 S 0 585 557 0 40 20 ? ? ? 0:04 Xsun
> bash-2.05# pagesize
> 8192
>
> 16981 * 8192 = 139108352byte即 139M 例:有無限耗盡資源的腳本運行時 > 0 S 0 27982 27981 0 40 20 ? 328 ? ? 0:00 sh
> 0 S 0 27979 27978 0 40 20 ? 328 ? ? 0:00 sh
> 0 S 0 27975 27974 0 40 20 ? 328 ? ? 0:00 sh
> 0 S 0 27971 27970 0 40 20 ? 328 ? ? 0:00 sh
> 0 S 0 27967 27966 0 40 20 ? 328 ? ? 0:00 sh
> 0 S 0 27963 27962 0 40 20 ? 328 ? ? 0:00 sh
> 0 S 0 27981 27980 0 40 20 ? 327 ? ? 0:00 sh
> 0 S 0 27980 27979 0 40 20 ? 327 ? ? 0:00 sh
> 0 S 0 27978 27977 0 40 20 ? 327 ? ? 0:00 sh - 察看有無用戶或程序在使用/tmp ? # ls -alR /tmp > /log.tmp # ls -alR /var/tmp > /log.var_tmp - 其他可察看Memory和IO的命令: # vmstat 5 5 # iostate 5 5
新聞熱點
疑難解答
圖片精選