題 為什麼我的Windows 7 PC / SSD驅動器會一直凍結?


我有一台帶有主SSD硬盤的舊電腦。我經常注意到PC會凍結30秒到幾分鐘,在此期間顯示“旋轉藍輪”鼠標圖標。然後它會釋放並恢復正常。

當我在此期間查看資源監視器時,我注意到在此期間磁盤活動始終處於“100%最高活動時間”。但實際的磁盤活動量對我來說並不高(<1Mb /秒)。內存和CPU永遠不會受到遠程壓力。

通常,反病毒軟件(卡巴斯基反病毒軟件11.0.0.232)是磁盤活動最活躍的用戶,但這對我來說似乎並不那麼不尋常。在這些時期,我通常不會過多地強調我的電腦,只是輕微的網上沖浪等。

我的猜測是驅動器存在問題,但我不確定下一步該做什麼(除了買一個新的)。

有任何想法嗎?

謝謝,


10
2018-03-06 17:46


起源


什麼型號的SSD? - Mr Alpha
“Integral SATAII和USB SSD ATA Device”,容量121793 MB。根據“更新​​驅動程序”按鈕,驅動程序是最新的。 - rob levin
我和Corsair Force LE SSD 1TB有同樣的問題 - ColacX
嘿,對我來說,事實證明我不小心將我的SSD安裝到較舊的SATA端口。一旦我切換到更現代的端口,問題就消失了,或者至少很少發生。 - ColacX


答案:


您可能背負著使用臭名昭著的JMicron JMF602控制器的SSD。事實上它既是SATA又是USB設備,因為JMF602是少數支持USB支持的控制器之一。

問題源於這樣一個事實:SSD控制器不能過度寫入閃存上的數據以及特定控制器如何處理它。由於SSD控制器無法在閃存上過度寫入數據,因此必須先刪除舊數據。但閃存的另一個限制是SSD控制器不能一次刪除單頁數據,但必須一次刪除整個塊(通常大約幾兆字節)。為了避免這種情況,SSD控制器將新數據寫入新塊並將舊數據標記為無效。然後它進行垃圾收集,基本上刪除了充滿無效數據的塊。

您遇到的具體問題是,當您想要將某些數據寫入SSD時,沒有新的空塊可以寫入數據。所有塊都填充有效和無效的數據。然後,SSD控制器必須在正在使用的塊上進行垃圾收集。它的作用是將塊的所有數據讀入緩存。刪除緩存中的無效數據。刪除閃存中的整個數據塊。然後將您正在編寫的新數據和緩存中的數據寫入現在清理的塊。如果一堆這些發生在同一時間控制器被淹沒並基本上停止響應,直到它可以清理積壓。

所有這些都發生在SSD本身內部,完全隱藏在操作系統之外。這就是為什麼非傳統的故障排除技術可以找到它。如果SSD上的所有塊都有數據,那麼只需要很少的寫操作就可以強制SSD完成整個讀取/刪除/寫入舞蹈,所以這就是為什麼你沒有看到任何重大的寫入。現代SSD沒有同樣的問題。它們內置了許多技術來避免它,例如花哨的主動垃圾收集,RAM緩存和過度配置。它們可能會降低寫入速度,但不足以導致系統凍結。

壞消息是除了升級到一個好的SSD之外,你無法做任何事情來解決它。這是SSD本身的設計缺陷。您可以嘗試最小化對SSD的寫入量。這會使口吃更加罕見,但不能完全解決。

令人驚訝的是,在僅1年的PC中,您擁有這些基於JMF602的SSD之一。幾年前他們停止製作和銷售它們。


17
2018-03-06 21:23



謝謝,這聽起來像是一個非常合理的解釋。這台機器實際上是1.5歲(時間過得真快!)所以也許我得到了最後一批糟糕的固態硬盤。我很高興升級到一個好的SSD,因為這個問題真的很煩人。 - rob levin
此外,我認為問題變得更糟,因為我逐漸填滿了驅動器,這也符合你的解釋 - rob levin
基本上,你是說JMicron驅動器不支持 TRIM命令?因為你描述的一切(空塊被填充,然後必須執行垃圾收集來整合塊)聽起來就像是 TRIM 命令 - 我理解並且我很滿意我知道OP的問題。如果你指的是什麼 其他,我個人想更多地了解它,以及它與問題的關係 TRIM 解決了。 - Ian Boyd
@Ian Boyd是的,我指的是TRIM應該解決的問題。那些基於JMicron的驅動器不支持TRIM。雖然說TRIM解決它有點過於簡化了事情。 TRIM僅為垃圾收集提供更多信息,使其能夠更有效地運行。完全避免該問題仍然需要足夠有效的垃圾收集例程。 - Mr Alpha
只是不得不說出驚人的答案。我沒有太多的計算機知識,我理解得相當好。優秀! - user1125620


鼠標是否也停止移動?如果鼠標也沒有響應,那麼內核模式下的東西正在佔用CPU。否則這個過程就是行為不端。

接下來就是跑 資源監控,並查看在分頁期間是否發生問題。檢查分頁操作的響應時間:

enter image description here

接下來,我們必須知道暫停是否影響所有應用程序,或僅影響資源管理器。如果它只是資源管理器,那麼你可能有一個shell擴展(例如WinRar,7Zip,RapidShare),或者其他同樣糟糕的東西,干擾了資源管理器。它也可以是映射驅動器或網絡資源的快捷方式,當資源管理器嘗試更新圖標,修改日期或大小等時,網絡資源不再響應。


1
2018-03-06 20:42



鼠標仍會移動。該問題會影響所有應用;一些將繼續正常工作,其他人將凍結 - 這取決於(我認為)應用程序是否需要在凍結期間訪問SSD驅動器。 - rob levin
抱歉,我沒有足夠的權限發布截圖,但它不是分頁花時間,它是App進程(我最新的例子中的Photoshop)和系統活動(NTFS卷日誌,NTFS主文件表)的混合。在這些過程中,沒有什麼是不尋常的; 148kB /秒的總I / O,最高活動時間為100%。 - rob levin
哦,如果問題是驅動器必須執行垃圾收集才能滿足另一個寫操作,那麼寫入的“響應時間”應該很高。 (您可以看到我的SSD驅動器上的響應時間截圖為0-1ms,旋轉時的響應時間為正常優先級 C: 開車幾十毫秒。 - Ian Boyd


卡巴斯基是這裡的關鍵詞。讓你的掃描結束,然後回去玩遊戲。


1
2018-03-13 12:11





試試這個工具,看看你的硬盤是否出現故障:

適用於NT / 2000 / XP的SMART和Simple
http://www.beyondlogic.org/consulting/smart/smart.htm

它將提供有關錯誤的統計信息以及您的硬盤驅動器所跟踪的內容。


0
2018-03-06 18:09



謝謝 - 我試過這個,但它在Windows 7上不起作用。它看起來有點舊 - 無論如何它是否適用於SSD驅動器? - rob levin
替代方案: HDTune.com - Tom Wijsman
rob levin:我不知道它是否適用於SSD驅動器。如果SSD驅動器包括S.M.A.R.T.技術,那麼它應該。在NetBSD中,“atactl”命令將提供對此的訪問,因此您可以嘗試從Live NetBSD CD啟動,以查看是否也可以獲得一些答案。 - Randolf Richardson


我已經看到卡巴斯基及時做了這樣的事情。內存消耗通過屋頂,這可能導致大量交換。我從來沒有弄清楚它是什麼時候做的。


0
2018-03-06 19:11





在我的情況下,我不得不將'AMD SATA Controller'驅動程序更新為'Standard AHCI 1.0 Serial ATA Controller'驅動程序。

找到設備'AMD SATA Controller' - >屬性 - >驅動程序選項卡 - >更新驅動程序 - >瀏覽計算機以查找驅動程序軟件 - >讓我從計算機上的設備驅動程序列表中選擇 - >選擇'標準AHCI 1.0串行ATA控制器 - >重啟


0
2017-10-18 23:09