Debian-Lenny
linux伺服器崩潰後要檢查什麼?
我的 linux 伺服器 (debian 5) 停止執行,必須重新啟動。
請告知要檢查的內容,以了解發生了什麼。通常的嫌疑人,如
/var/log/messages
、syslog
和kern.log
。你能給我一個提示,在失敗之前平均負載飆升到 100 以上嗎?不知道該往哪裡看。
您需要提供有關伺服器配置的更多資訊,並發布這些日誌。你怎麼知道平均負載變高了?
“故障前平均負載飆升到100以上”的症狀可能有很多原因,但也有很多原因。
首先,什麼是平均負載?
我建議查看這篇文章以獲取有關該主題的更多資訊:https ://superuser.com/questions/23498/what-does-load-average-mean-in-unix-linux
平均負載是目前有多少程序處於“等待”狀態的指標。非常高的平均負載表示資源耗盡,而導致資源耗盡的一個常見原因是 I/O 操作完成的等待時間過長(或無限)。
什麼可能導致這種情況?
- I/O 等待可能是由於 NFS 掛載失敗或硬碟驅動器出現故障。您可能是攻擊的受害者。
- 像Slowloris這樣的攻擊 往往會耗盡文件句柄池,並且會掛起伺服器上的 I/O 操作。
- 也要注意叉形炸彈。如果您遭受了 fork 炸彈,並且您的記憶體已耗盡,您可能會看到有關“OOM Killer”的痕跡,這是一個核心工作程序,當其他一切都失敗時,它會犧牲程序為系統釋放記憶體。在某些設置中,OOM Killer 可以使系統重新啟動。
去哪裡看?
這實際上取決於您的系統配置和環境。您沒有在問題中提供足夠的詳細資訊來回答這個特定問題。不過,這裡有一些想法:
- 首先,檢查所有硬碟。對它們執行完整的 SMART 測試。
- 如果您有硬體 RAID,請檢查 RAID 控制器的日誌。
- 如果您正在託管 Web 服務,請檢查頻寬使用歷史記錄和請求計數。
- 如果您有遠端網路掛載(sshfs、NFS),請檢查它們的可靠性
- 如果您在伺服器上託管使用者 shell,請檢查他們的 .bash_history (這可能是偽造的。)
- 如果該伺服器是虛擬機,則問題可能與您的伺服器無關,而與您的虛擬服務提供商有關。