你是否曾經遇過Linux系統終端機卡頓、關機慢等問題?這些問題不僅影響使用體驗,也可能影響工作效率和系統穩定性。本文將介紹Linux系統優化的一些方法,幫助你提升系統效能,避免卡頓和長時間關機的問題。
我希望你對 sigterm 和 sigkill 的概念有一點熟悉。
當你 關閉 Linux 系統 時,它會發送終止訊號(sigterm),並禮貌地要求正在運行的進程停止。有些進程不符合該行為,它們會忽略終止訊號並繼續運作。
這可能會導致關機過程的延遲,因為你的系統會在一個預先定義的時間段內等待運行的進程停止。在這個時間段之後,它會發送 kill 訊號來強制停止所有剩餘的運行進程並關閉系統。
事實上,在某些情況下,你會在黑屏上看到一個類似 “a stop job is running” 的資訊。
如果你的系統關閉時間太長,你可以做以下工作:
檢查哪個進程/服務耗時過長,以及你是否能刪除或重新配置它,使其正常運作。
更改系統強制停止運行進程前的預設等待時間。 (快速而不優雅的方式)
我的作業系統是使用 systemd 的 Ubuntu。這裡的命令和步驟適用於任何使用 systemd 的 Linux 發行版(大多數發行版都是這樣)。
檢查哪些進程會導致 Linux 的長時間關機
#如果你想找出問題所在,你應該檢查上次關機時發生了什麼。使用這個指令來獲得「我知道你上個會話做了什麼」(I Know What You Did Last Summer 的雙關語)的力量。
journalctl -rb -1
journalctl 指令 能讓你讀取系統日誌。使用選項 -b -1 可以過濾最後一次啟動會話的日誌。使用選項 -r 時,日誌將按時間倒序顯示。
換句話說,journalctl -rb -1 指令將顯示最後一次關閉 Linux 系統之前的系統日誌。這裡就是你需要分析 Linux 系統長時間關機問題的地方。
沒有 journal 日誌?下面是你該做的
#如果沒有 journal 日誌,請確認你的發行版是否使用 systemd。
即使在一些使用 systemd 的 Linux 發行版上,journal 日誌也沒有被預設啟動。
請確認 /var/log/journal 是否存在。如果不存在,請建立它:
sudo mkdir /var/log/journal
你也應該檢查 /etc/systemd/journald.conf 檔案的內容,並確保 Storage 的值被設定為自動(auto)或持久(persistent)。
你是否在日誌中發現可疑的東西?是否有一個進程/服務拒絕停止?如果是,調查一下是否可以在沒有副作用的情況下刪除它,或者是否可以重新配置它。請不要在這裡盲目地去刪除東西。你應該對這個進程有所了解。
透過減少預設停止逾時來加快 Linux 中的關機速度(快速修復)
#關機的預設等待時間通常設定為 90 秒。在這個時間之後,你的系統會嘗試強制停止服務。
如果你想讓你的 Linux 系統快速關閉,你可以改變這個等待時間。
你可以在位於 /etc/systemd/system.conf 的設定檔中找到所有的 systemd 設定。這個檔案中應該有很多以 # 開頭的行。它們代表了文件中各條目的預設值。
在開始之前,最好先複製一份原始文件。
sudo cp /etc/systemd/system.conf /etc/systemd/system.conf.orig
在這裡尋找 DefaultTimeoutStopSec。它可能被設定為 90 秒。
#DefaultTimeoutStopSec=90s
你得把這個數值改成比較方便的,例如 5 秒或 10 秒。
DefaultTimeoutStopSec=5s
如果你不知道如何在終端機中編輯設定文件,可以使用這個指令在系統預設的文字編輯器(如 Gedit)中開啟文件進行編輯:
sudo xdg-open /etc/systemd/system.conf
不要忘記刪除 DefaultTimeoutStopSec 前的 # 號。儲存檔案並重新啟動系統。
這將幫助你減少 Linux 系統的關機延遲。
看門狗問題!
#Linux 有一個名為看門狗的模組,用於監控某些服務是否正在運作。它可以被配置為在系統因軟體錯誤而掛起時自動重新啟動系統。
在桌上型系統上使用看門狗是不常見的,因為你可以手動關閉或重新啟動系統。它經常被用於遠端伺服器。
先檢查看門狗是否在運作:
ps -af | grep watch*
如果你的系統正在運行看門狗,你可以在 systemd 設定檔 /etc/systemd/system.conf 中將 ShutdownWatchdogSec 的值從 10 分鐘改為更低的值。
透過本文的介紹,你已經了解了一些Linux系統優化的方法,包括停用服務、調整核心參數、升級驅動程式、清理垃圾檔案等等。透過這些方法,你可以提升系統效能,避免終端卡頓、關機慢等問題。當然,對於不同的系統和使用場景,需要採用不同的最佳化方法。在實際應用中,你可以根據具體情況選擇合適的最佳化策略,並根據實際效果調整。
以上是終端卡頓、關機慢? Linux系統優化提速攻略來了!的詳細內容。更多資訊請關注PHP中文網其他相關文章!