screen案例--不合理設定差點搞伺服器搞掛了
阿新 • • 發佈:2020-10-16
案例場景
screen的scrollback模式是佔用緩衝區的,為了防止出現日誌丟失的情況,想把緩衝區設定大一點。於是執行如下命令:
ctl-a :
然後閉著眼睛輸入 scrollback 9999999999999
也不記得輸了多少個9,然後螢幕卡死了。強行退出終端,再ssh發現登陸不了系統。
系統其它任務還在執行,但無法ssh登陸。IP也能ping通。本想放棄重啟伺服器,等了大概20分鐘,ssh終於連上去了。登到伺服器上檢視負載和記憶體佔用:
screen 佔了0.23T的虛擬記憶體,還好CPU負載比較低,其它任務沒有被拖死。殺掉程序後,swap分割槽被釋放。
教訓
緩衝區或其他數值類的設定要合理,搞不好程式就無限制的索取系統資源了。程式併發設定也要慢慢加,不然CPU抗不住有可能假死,等任務執行完估計要等好幾年。
screen的scrollback並不能無限制的擴充套件,它還受到終端程式快取大小的限制。檢查一下你使用的終端的快取,不然也無法達到要求。