時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
我們在使用Linux系統(tǒng)的時候會發(fā)現(xiàn)系統(tǒng)沒有響應(yīng)出現(xiàn)死機現(xiàn)象。這個時候要做些什么呢?說到這有人就會問,Linux系統(tǒng)會死機么?我可以很肯定地說,會!要讓Linux死機很容易,但難的是在死機以后如何安全的讓他擺脫死機狀態(tài),本文講述如何從Linux的死機狀態(tài)中掙脫出來。
Linux系統(tǒng)死機有很多種情況,最常見的是系統(tǒng)負載過高導(dǎo)致的。如上次介紹的fork炸彈就是這個原理,此外還可以運行內(nèi)存耗用極大的程序(如虛擬機),也會迅速提升系統(tǒng)負載。由于系統(tǒng)負載過高導(dǎo)致的卡死,一定是解決的越快越好!此時必須記住的是,不能再試圖依賴任何圖形界面的東西,如 Gnome 的系統(tǒng)監(jiān)視器(這是我從 Windows 遺留下來的愚昧習(xí)慣……),這只會繼續(xù)加重這種卡死的局面。那怎么辦?
不要怕,Linux系統(tǒng)最初就是不需要圖形界面的,因為有一個很強大的文字界面。按 Ctrl-Alt-F1(F1-F6 一般來說都可以),然后等一會兒,就會切換到 tty,也就是所謂的文字界面。這個時候需要用用戶名密碼登入。注意,可能鍵盤輸入的速度比較慢,不過應(yīng)該還是可以忍受的。下面在提示符后面輸入 top 回車,這時會看到一張動態(tài)的表,上面列出了耗用資源最多的進程。觀察它刷新一兩次,按q退出,然后輸入 kill ,其中的 PID 你可以在 top 里面看到。這個時候應(yīng)該會快了不少,如果你發(fā)現(xiàn)沒有成功結(jié)束掉,就再輸入 kill -KILL ,這次基本上就沒問題了。
除了上面這種情況外,一些底層軟件的 bug 也可能導(dǎo)致一些奇怪的死機問題。我某位同學(xué)近日就因為莫名其妙的死機強制重啟把 ext4 的分區(qū)給傷了。(最后是 sysreccd 修復(fù)了,貌似是分區(qū)表部分損壞)據(jù)其說,死機是鍵鼠均無反應(yīng)。一般來說,系統(tǒng)負載高導(dǎo)致的死機,在可怕鍵盤也會有反應(yīng),有人說如果死機到鍵盤無響應(yīng)"負載 都無限大了",亦有人說這可能是 X Server 與驅(qū)動配合有問題導(dǎo)致的。不過我們考慮一下遇到這種情況怎么辦?
OK,這是今天才學(xué)到的方法,叫做 reisub,這個方法可以在各種情況下安全地重啟計算機。大家在鍵盤上找,可以找到一個叫做"Sys Rq"的鍵,在臺機的鍵盤上通常與 Prt Sc 共鍵,在筆記本可能在其他位置,如 Delete。以臺機為例,要使用這種方法需要按住 Alt-Print(Sys Rq),然后依次按下 reisub 這幾個鍵,按完 b 系統(tǒng)就會重啟。
下面解釋一下這個方法:其實 Sys Rq 是一種叫做系統(tǒng)請求的東西,按住 Alt-Print 的時候就相當(dāng)于按住了 Sys Rq 鍵,這個時候輸入的一切都會直接由Linux內(nèi)核來處理,它可以進行許多低級操作。這個時候 reisub 中的每一個字母都是一個獨立操作,他們分別表示:
R:unRaw 將鍵盤控制從 X Server 那里搶回來
E:tErminate 給所有進程發(fā)送 SIGTERM 信號,讓他們自己解決善后
I:kIll 給所有進程發(fā)送 SIGKILL 信號,強制他們馬上關(guān)閉
S:Sync 將所有數(shù)據(jù)同步至磁盤
U:Unmount 將所有分區(qū)掛載為只讀模式
B:reBoot 重啟
這6個字母的順序是不可以記錯的。那怎么記呢?這里提供一個個人認為比較好的方法:單詞 busier(busy 的比較級,更忙)倒過來就是了。
死機?不合適吧。真死機了除了hard reset還能干什么?叫失去響應(yīng)或者無響應(yīng)更合適吧?
另外服務(wù)器一般都是遠程操作的,sysrq怎么用呢?
X掛掉,通常psuedo console就能搞定。通常大家也會開ssh,絕大多數(shù)情況下都能連上去殺進程,做重啟前的收尾比如sync來commit。
關(guān)于sysrq,通常RHEL/OEL等EnterpriseLinux系統(tǒng)默認都是關(guān)閉的需要事先開啟才可以用。
cat /proc/sys/kernel/sysrq,看了手頭的幾個桌面發(fā)行版本,只有Ubuntu默認是開的,Arch是關(guān)閉的。
對于桌面用戶而言,當(dāng)桌面僵死時,用這個來搞一下,還是很方便的。
關(guān)鍵詞標簽:Linux系統(tǒng)死機
相關(guān)閱讀
熱門文章
安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程
Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法
多種操作系統(tǒng)NTP客戶端配置
Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址 dmidecode命令查看內(nèi)存型號 linux tc實現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負載