2010年7月2日 星期五

讀 /var/log/message 了解 Ubuntu 掛點原因

今早發覺 server 掛了, 想說藉機研究一下怎麼調查死因。

首先看 /var/log/message, 發現 syslogd 很好心的每隔 20 分鐘會寫入 "MARK", 表示它還活著。藉此可以推論出什麼時候開始出現異常。最後找到一串 oom-killer 的 log, google 後知道它是 out-of-memory killer, 是 kernel 用來釋放記憶體的機制, 透過某種推算, 砍掉一些 process 以釋放記憶體。oom-killer 有顯示 free 後的 swap space, 才發覺原來有人跑程式把 swap 也吃完了。真相大白, 圓滿收工。機器多掛幾次, 系統管理的功力又提昇了幾分。這就是在跌倒中成長嗎?

沒有留言:

張貼留言

C++ 能否用 memcpy 複製 class / struct 的資料?

答案是: POD (plain old data) type 可以。POD type 可和 C 互通, CPP Reference POD Type 的介紹: Specifies that the type is POD (Plain Old Data) type. Thi...