是什麼讓我的磁碟保持清醒狀態?

是什麼讓我的磁碟保持清醒狀態?

我已將硬碟配置為在 1 分鐘不活動後進入睡眠狀態。這曾經非常有效。伺服器幾乎總是一片寂靜。但最近驅動器經常處於喚醒狀態。

我可以檢查一下是什麼讓他們無法入睡嗎?這是一個家庭伺服器。

rc.local:

hdparm -M 128 -S 60 /dev/sda
hdparm -S 60 /dev/sdb

更新:伺服器運行的是 Ubuntu 10.04。作業系統(/tmp 和 /var/)位於 SSD 上,而 sda 和 sdb 僅用於儲存/備份。

更新2:從我的 sysctl.conf 中:

vm.swappiness = 1
vm.vfs_cache_pressure = 50
vm.dirty_writeback_centisecs = 1500
vm.dirty_ratio = 20
vm.dirty_backgrounds_ratio = 10

答案1

這並不是您所問問題的真正答案,但可能有助於解決根本問題。我知道的一種工具是iotop,但它可能無助於從流程中捕獲簡短的活動。

讓硬碟在閒置時進入睡眠狀態可能很困難,因為有許多潛在的活動來源。僅僅因為您認為您的系統沒有執行任何操作,並不意味著後台沒有寫入任何內容。以下是一些常見的罪魁禍首:

  • 雜誌沖洗。 Linux 會定期刷新 ext3(或 ext4)日誌,無論是否需要刷新。這可以透過commit安裝選項進行調整。
  • 系統日誌。在預設配置下,每當寫入一行時,某些系統日誌就會被刷新。 Cron 作業是慣犯,因為它們會觸發auth日誌條目。您需要-/etc/syslog.conf.

如果您確實希望磁碟降速,請查看諾夫盧什德。它確實有效(或至少以前有效,最近沒有太多維護,並且可能與當代核心有問題)。但請注意,這是一種駭客攻擊,而且非常嚴厲:它只是阻止內核寫入,直到快取已滿或磁碟喚醒以進行讀取。

如果你正在尋找安靜,一種技巧有很大幫助是為了將磁碟懸掛在鬆緊帶上而不是直接安裝。這無助於降低功耗,但除非您有 ≥10krpm 的驅動器(無論如何都需要風扇的尖叫),否則即使在空閒時,CPU 和主機板也可能是主要的功耗。

答案2

確保您已關閉所有詳細日誌記錄。如果您的電腦在防火牆規則記錄的特定連接埠上發送廣播,您將很容易獲得足夠的條目,使驅動器不會旋轉。 HP 印表機和 Windows 電腦因發送廣播來檢查本機網路上的其他電腦而臭名昭著,大多數防火牆規則都會記錄這些請求。

檢查您正在執行的服務,看看是否有服務正在記錄到自己的檔案中。你有家庭跑步嗎? swappiness 設定得很高並且有足夠的服務,以至於您不斷地將東西從 ram 轉移到交換?計劃任務?

答案3

你有沒有嘗試過iotop

相關內容