1. 程式人生 > 實用技巧 >screen案例--不合理設定差點搞伺服器搞掛了

screen案例--不合理設定差點搞伺服器搞掛了

案例場景

screen的scrollback模式是佔用緩衝區的,為了防止出現日誌丟失的情況,想把緩衝區設定大一點。於是執行如下命令:

ctl-a : 然後閉著眼睛輸入 scrollback 9999999999999 也不記得輸了多少個9,然後螢幕卡死了。強行退出終端,再ssh發現登陸不了系統。
系統其它任務還在執行,但無法ssh登陸。IP也能ping通。本想放棄重啟伺服器,等了大概20分鐘,ssh終於連上去了。登到伺服器上檢視負載和記憶體佔用:

screen 佔了0.23T的虛擬記憶體,還好CPU負載比較低,其它任務沒有被拖死。殺掉程序後,swap分割槽被釋放。

教訓

緩衝區或其他數值類的設定要合理,搞不好程式就無限制的索取系統資源了。程式併發設定也要慢慢加,不然CPU抗不住有可能假死,等任務執行完估計要等好幾年。

screen的scrollback並不能無限制的擴充套件,它還受到終端程式快取大小的限制。檢查一下你使用的終端的快取,不然也無法達到要求。