我們單位是一所醫療機構,整個醫院的網絡是由一台安裝有WIN2000 服務器版的惠普服務器及數十台以WIN98作平台的終端微機組成。數據庫系統采用微軟公司的SQL 7.0版本,開發工具為SYBASE 公司的PowerBuild 6.0。在近一年的運行中,出現過兩例怪異的"故障",幾乎導致系統癱瘓,在此將詳細過程敘述如下,以期對大家有所啟示和借鑒。
"故障"一:系統運行幾個月後,整個管理系統的運行速度變得非常慢,無論是掛號還是劃價發藥都反應遲鈍,導致全院無法進行正常工作。觀察服務器,發現硬盤燈經常狂閃不止,打開任務管理器中的系統性能監測,發現CPU占用率居高不下,點擊任何程序圖標,該程序的響應都很緩慢,屏幕的刷新速度好象是在演動畫片。我們想到的第一件事是病毒感染,於是花近萬元購買了某著名殺毒軟件的網絡版,掃描整個網絡後一無所獲。於是懷疑是感染了某種不知名的病毒,和軟件公司同志再次努力仍然解決不了問題。因此又懷疑是服務器硬件故障,請惠普公司人員來檢測後,CPU、內存等均無問題,在近乎山窮水盡之際,突然想到可能是WIN2000 的配置上有問題。於是,依次點擊"開始"→"程序"→"管理工具",對該欄目下的各個管理項依次檢查,終於發現了問題所在。原來,在"事件查看器"下,"應用程序日志"、"安全日志"、"系統日志"等日志中,都密密麻麻地寫滿了記錄。其中有的記錄多達近千條,我們猜想,WIN2000 在運行時,為了"確保"安全,可能隨時要到多個日志文件中讀取信息,並和當前情況進行對比,經過計算後決定下一步怎麼做,這樣會大大增加系統的資源消耗。而且,一旦日志中有多個錯誤的記錄,那情況就更加嚴重了。於是,我們進行備份後,清空了所有的日志記錄,重新啟動服務器,整個網絡終於恢復了活力。
"故障"二:系統運行恢復正常後,接受上次的教訓,我們定期清空日志文件,並打開系統性能監測器,隨時查看CPU的占用情況。但奇怪的情況又出現了。有時,在整個網絡沒有進行任何工作的情況下,硬盤燈再次閃個不停,CPU占用率達100%,這種情況持續一分鐘左右自動消失。不幸的是,如果此時醫院的門診或住院部有任務要作的話,整個系統的響應速度又會慢如蝸牛,根本無法正常工作,我們按照上次的解決辦法,天天清空日志,還是解決不了問題。經過仔細觀察,我們發現這種現象每隔16小時定期出現一次,於是懷疑是類似WIN98的計劃任務在搗鬼,但在WIN2000中又找不到"計劃任務"這個管理項,無計可施之時,又到日志文件中去看,無意中發現在系統日志中,有一對"錯誤"和"警告"記錄正是每隔16小時重復出現一次,於是眼前一亮,打開"錯誤"記錄一看,內容是"這個機器是在目錄林根域的 PDC。請用 net 命令 'net time /setsntp:',配置從外部時間源同步。"其錯誤代碼是62;"警告"記錄的內容是:"由於重復不斷的網絡問題,時間服務尚未找到與其同步的域控制器。要減少網絡流量,時間服務要等 960 分鐘才能再試。這期間不會進行同步,及時網絡連接已復原。累積的時間錯誤可能會導致某些網絡操作失敗。要告知網絡連接已復原,應該重新同步,請從命令行執行 "w32tm /s""。其錯誤代碼是64。我們一看,960分鐘不正是16個小時嗎?由於我單位的網絡是內部局外域網,且軟件系統都取用服務器時間,網絡時間同步服務是不需要的,把此項服務停止了問題就將迎刃而解。經過尋找,我們終於找到了它的老家。依次點擊"開始"→"程序" →"管理工具" →"服務"。找到Windows Time 這一項目,雙擊後進行修改,停止此項服務,並將其啟動方式改為手動。從此,16個小時間歇發作的"故障"再也沒有出現過。
體會:微軟公司的產品歷經升級,其操作系統越來越龐大,設置越來越復雜,甚至BUG也越來越多。在此情況下,系統設置不當時,很容易出現一些假故障,而且其表現形式很象是病毒感染或硬件損壞等大問題。這就要求我們遇到計算機故障時,不要忽略了小問題。否則,可能累得精疲力竭、耗資巨大也無濟於事。另外,我們體會,WIN2000和SQL SERVER最好每隔兩個月就重新啟動一次,不然會出現某些莫名其妙的小麻煩。