歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux如何判斷OOM

Linux如何判斷OOM

日期:2017/2/27 15:56:23   编辑:Linux教程
OOM之怕
OOM(Out of Memory)的機器僵而不死,對應用來說是最大的傷害,所以我們需要有一種有效的監控手段來判斷機器是否是OOM。

OOM機器的特征
  • 機器能否ping通
  • 機器無法ssh,但是能telnet 22端口,卻無法ssh上去

OOM時機器狀態的猜測
  • Linux的kernel可能還是活的,至少tcp/ip協議棧還是可以工作的,因為ip還能ping通,22端口依然在監聽
  • 上層應用都不響應了,比如telnet 22端口能連接上,但輸入任何字符後無響應

OOM監控腳本
#/bin/bash
ips='
192.168.1.1
192.168.1.2
192.168.1.3
'
for i in $ips
do
#判斷是否能ping通
if ping -c2 -w5 $i 2>/dev/null ; then
#用nc判斷22端口是否能否響應,使用nc -w參數設定nc 超時時間
if echo 'hello' | nc -w 10 $i 22 | grep -q 'OpenSSH' ; then
echo "$ip is oom"
fi
fi
done
Copyright © Linux教程網 All Rights Reserved