當前位置: 首頁>>技術教程>>正文


硬盤活動過多

, ,

問題描述

我在安裝在主 HDD 的 ext4 分區上的 Ubuntu 12.04 x64 “fresh” 上遇到問題。不使用時每 5 到 10 秒 HDD 處於活動狀態大約 10 秒,無論打開或運行什麽應用程序,都會寫入一次。我使用 iotop 發現 jbd2 一直在向 HDD 寫入數據。硬盤的噪音快把我逼瘋了,以這種速度磁盤不會持續很長時間。在同一個硬盤上,我有 Windows 7(雙啟動 Grub2),一切正常,磁盤在不使用時關閉,計算機無聲。其他一切都運行良好(隻是 Skype 和網絡攝像頭的小問題,但這是可以容忍的),但是由於我每天打開計算機 10 個小時,因此對丟失磁盤和噪音的恐懼是無法忍受的……

我嘗試手動降低日記的頻率,但到目前為止,在網上找不到任何解決方案對我有幫助,磁盤正在以相同的速度研磨。

這個問題的任何解決方案?如果不是,我想我會停止使用 Ubuntu,在這種使用率下,沒有硬盤可以持續很長時間,而且硬盤的噪音是無法忍受的……

最佳思路

這是硬盤驅動器活動高於正常使用量並且用戶沒有太多使用它的罕見情況。在我使用 Ubuntu 的這些年裏,我隻發生過兩次。有一次,我通過在磁盤上執行 fsck 解決了這個問題。

例如,如果您的 HDD 是 /dev/sdb1,則執行以下操作:

sudo fsck /dev/sdb1

在那種情況下,它說我在沒有檢查的情況下啟動了硬盤驅動器超過 200 次。我實際上沒有數過多少次,但在我的書中有 200 次很多。

無論如何,當開始檢查時,它在某個時候開始發現問題並修複它們。實際上很多。之後我重新啟動,問題就消失了。

在第二種情況下,是因為我編輯了 /etc/fstab 並錯誤地將參數傳遞給了 hdd。解決方案是從中刪除該參數。

我還不得不說,將 noatime 添加到硬盤驅動器會減少寫入操作的數量。例如,這是我在 fstab 文件中的硬盤:

# / was on /dev/sda2 during installation
UUID=38673e00-ecc8-4e11-85d2-58af72999e5b /               ext4    noatime,errors=remount-ro 0       1

使用 noatime 參數,磁盤活動較少。雖然,如果使用 2.6.30 或更高版本的內核,relatime 會好得多。

我對此的建議是:

  • 在有問題的驅動器上運行 fsck。它可能會檢測到很多問題,也可能不會,但檢查它會確保信息是正確的並且硬盤驅動器沒有文件係統問題。

  • 在桌麵上運行 disks 實用程序。它顯示驅動器的狀態和有關它的 SMART 信息。這可以為您提供有關它的更多信息,特別是如果它有硬件問題。

  • 鍵入 dmesg 並查看最後幾行。如果每 10 秒有一次,它就會在那裏顯示。它也可以顯示在 cat /var/log/syslogcat /var/log/kern.log

  • 最後將 noatime 參數添加到您的 fstab 文件中以節省一些訪問時間。

次佳思路

  1. 如果您在沒有任何東西運行的情況下看到大量活動,請檢查是否有任何日誌正在獲得大量更新。查看運行此命令時是否有任何文件增長…

    ls -lS /var/log/*log | head
    
  2. 如果您的硬盤支持 SMART,您可以使用

    hdparm -B 255 /dev/sdX
    

    其中 sdX 需要更改為有效分區。

  3. 檢查 fstab 中的 noatime

  4. 從下麵的最後一個鏈接中,有人聲稱他通過強製檢查分區解決了這個問題。

    touch /forcecheck
    

    並且重新啟動將確認您是否屬於這種情況。


也看看這個話題:

ext4 jbd2 journaling active even on empty filesystem


這很可能是內核問題(與 Ubuntu 沒有特別關係)。 In 2010 both Ubuntu and Arch users had the same problem 。將它作為針對您正在使用的內核的啟動板上的錯誤發布可能是值得的。

參考資料

本文由Ubuntu問答整理, 博文地址: https://ubuntuqa.com/zh-tw/article/12690.html,未經允許,請勿轉載。