題 我應該將交換文件保存在SSD驅動器上嗎?


我正在考慮讓SSD驅動器作為主要操作系統分區運行。據我了解,這應該可以顯著改善性能。

  • 我的問題是:  我應該將交換文件留在該驅動器上嗎? 

交換分區將主要是隨機搜索,因此應該從速度中受益。另一方面,它將不斷寫入,這將更快地磨損驅動器。


84
2017-10-06 14:33


起源


請查看這篇文章。 storagesearch.com/ssdmyths-endurance.html  51年!!! - Xavierjazz
我記得他們過去曾經說過cd會在推出時平均持續30年。現在這......但是看歷史,每一代新一代存儲介質都會越來越少......我現在會堅持使用舊硬盤。它們似乎持續了很長時間。 - Rook
storagesearch.com/ssd-buyers-guide.html 這應該提供準確的信息。 - Xavierjazz
注意: 驅動程序只有有限的內存,稱為 non-paged 和 paged 池 記憶部分。當頁面部分變滿時,頁面文件是必要的,作為遊戲玩家,我看到遊戲抱怨頁面池內存,因為我在8 GB系統上禁用了頁面文件。結論: 頁面文件是必要的,它們可以防止頁面池耗盡 加快速度 你的系統。 - Tom Wijsman
但是現在,Macbook Air只有一個SSD ...所以你不能避免在SSD中使用頁面文件,除非你完全禁用頁面文件...... - 太極者無極而生


答案:


如果可能,您可能希望使用輔助盤片硬盤驅動器作為虛擬內存的位置。如果您沒有,則仍建議使用頁面文件,但您可能希望禁用它以獲得額外的磁盤空間。這完全取決於您是否減少內存負載或更多磁盤空間是重要的...


10
2017-10-06 14:43



奇。上次我建議SSD與普通硬盤相比壽命有限(對於相同的用途),我得到了投票。 - Manos Dilaverakis
報價不完整。建議使用2 GB設備。在這種情況下,頁面文件將佔據很大比例的驅動器,大大減少了自由空間並增加了單個單元的磨損。一個64 GB的驅動器有更多的單元來分配這種磨損。我猜SSD製造商的建議會更有用。如果交換很少使用,它不會造成太大的磨損,但SSD可以真正幫助在極少數情況下交換突然導致令人難以忍受的緩慢。 - Bender
分頁會對SSD的使用壽命產生影響嗎?是的,但是任何寫操作都是如此。我關心的?一定不行!如果在3年,4年或5年後出血的事情發生了變化,那又怎麼樣?到那時我們將看到固態硬盤比現在的技術快10倍,現在是時候繼續前進了。或者您是否非常關心容量為80 GB的5年舊5400轉硬盤?我很懷疑:)
@Phoshi:我認為這項技術太新了,無法判斷,因為任何估算都是完全理論化的。沒有人(據我所知)實際上已經讓SSD運行足夠長的時間來測試其壽命。 - Sasha Chedygov
這個答案顯然是不正確的。我在11/22/2011下載了鏈接的文檔。 1)給出的報價不正確。完整的報價是: “我們建議禁用2 GB閃存設備的頁面文件,因為頁面文件可能會對閃存設備的生命週期產生影響,並減少閃存設備上其他應用程序和用戶數據的可用空間。” 2) 很明顯MS在這裡談論典型的USB和SD閃存, 不 SSD。 - user4197


MSDN博客 > 工程Windows 7 > 固態硬盤的支持和問答

頁面文件應該放在SSD上嗎?

是。大多數頁面文件操作都是   小的隨機讀數或更大   順序寫入,兩者都是   SSD處理的操作類型   好。

在查看來自的遙測數據   成千上萬的痕跡和專注   我們發現,頁面文件是讀寫的   那

  • Pagefile.sys讀取的數量超過pagefile.sys寫入大約40比1,
  • Pagefile.sys讀取大小通常非常小,67%小於或等於4 KB,88%小於16 KB。
  • Pagefile.sys寫入相對較大,62%大於或等於128 KB,45%大小恰好為1 MB。

實際上,給出了典型的頁面文件   參考模式和有利的   SSD具有的性能特徵   在這些模式上,文件很少   比要放置的頁面文件更好   一個SSD。


64
2018-05-04 20:06



毫無疑問,它會更快。本文未討論的是這是否會導致SSD過度磨損 - PPC
@PPC“Pagefile.sys讀取的數量超過pagefile.sys,寫入大約40比1“所以,不。(而且,如果真的那麼,最後一句也沒有任何意義。所以,再說一遍,沒有。) - David Schwartz
@DavidSchwartz:與讀取次數相比,問題不在於寫入次數,與SSD耐久性相比,每天的寫入次數更多,而操作系統的放置算法則更多。請參閱Xavierjazz上面關於OP的說明 - PPC


這是一些 聰明。 來自我在Linux筆記本電腦中使用的OCZ-AGILITY SSD的數據大約兩年。

我在磁盤上有一個交換分區,我所做的唯一“調整”是在Linux中設置swappiness = 0。 Windows swap配置文件或多或少類似於Linux swappiness = 0。

這是我的個人筆記本電腦,所以它不是每天使用8小時(更像是1.5小時),但我做了很多開發,因此有很多文件創建正在進行中。

  9 Power_On_Hours          1199
 12 Power_Cycle_Count       2753
184 Initial_Bad_Block_Coun  0
195 Program_Failure_Blk_Ct  0
196 Erase_Failure_Blk_Ct    0
197 Read_Failure_Blk_Ct     0
198 Read_Sectors_Tot_Ct     1311815826
199 Write_Sectors_Tot_Ct    1546123387
200 Read_Commands_Tot_Ct    22347850
201 Write_Commands_Tot_Ct   31599623
202 Error_Bits_Flash_Tot_Ct 55136
203 Corr_Read_Errors_Tot_Ct 54890 
204 Bad_Block_Full_Flag     0
205 Max_PE_Count_Spec       10000
206 Min_Erase_Count         266
207 Max_Erase_Count         2166
208 Average_Erase_Count     842
209 Remaining_Lifetime_Perc 92

有趣的部分是:

  • Power_On_Hours(我在電腦前花了太多時間。)
  • Max_PE_Count_Spec是10000,這是塊可以處理的最小重新刷新次數。
  • 最小值,最大值和平均擦除次數略微說明了耗損均衡算法的穩健性。我認為最糟糕的區塊閃現的頻率是平均值的兩倍,這是相當不錯的。
  • 剩餘壽命百分比,即92%。

所以...我認為可以安全地假設磁盤應該持續到我因其他原因退出它。 (*觸摸木頭)已經太小了......

假設數字規模,40小時/週將給出至少3 - 4年的壽命 - 可能更多,因為我懷疑我在家裡磨損磁盤更有效...會議少......所以,我考慮到好處,認為這對工作機器來說是相當不錯的。

100% / (40h/(1199/(2*52w)) * 8% = 3.6  // Did I get that right, eh...

所以,我的建議是:擺脫嘈雜的機械驅動器,享受沉默:-)

絕對安靜的筆記本電腦真棒。


在服務超過5年後,我不久前退休了。我需要一個更大的驅動器,並且獲得更快的驅動器也很好。一些街區確實已經死亡,但看起來它可以再堅持幾年。

順便說一句,它確實倖存了最初安裝的筆記本電腦。

9 Power_On_Hours                  3965
12 Power_Cycle_Count              8755
184 Initial_Bad_Block_Count          0
195 Program_Failure_Blk_Ct           0
196 Erase_Failure_Blk_Ct             0
197 Read_Failure_Blk_Ct              0
198 Read_Sectors_Tot_Ct     5438181603
199 Write_Sectors_Tot_Ct    4223860468
200 Read_Commands_Tot_Ct     108147770
201 Write_Commands_Tot_Ct     87443515
202 Error_Bits_Flash_Tot_Ct     364621
203 Corr_Read_Errors_Tot_Ct     350922
204 Bad_Block_Full_Flag              0
205 Max_PE_Count_Spec            10000
206 Min_Erase_Count                940
207 Max_Erase_Count               7808
208 Average_Erase_Count           3119
209 Remaining_Lifetime_Perc         69
211 SATA_Error_Ct_CRC                0
212 SATA_Error_Ct_Handshake          0
213 Indilinx_Internal                0

20
2017-07-24 16:37



但是swapiness = 0意味著:交換只是為了避免內存不足(默認值為60),來源: en.wikipedia.org/wiki/Swappiness - Lukasz Czerwinski
是的,減少交換,而不是禁用它。另外,我寧願等待文件操作,也不願等待窗口之間的alt-tabbing ...順便說一下,差不多兩年後,或3018個開機時間,估計剩餘壽命百分比現在是77%。 - kalle


我有一個更好的答案:為什麼,當你可以購買更多內存? RAM比SSD空間便宜或便宜。這也是 許多 更快,它永遠不會(好吧,幾乎從不)像SSD驅動器一樣降級。

將內存交換到磁盤是RAM不足的症狀。如果您需要加快交換速度,請不要加速交換磁盤,升級RAM並且交換將會消失。無論如何,交換應被視為最後的備用計劃。


19
2017-10-06 17:45



不再。目前,SSD比RAM便宜約4倍。無論您擁有多少RAM(儘管可能會影響響應速度),擁有交換文件總是對吞吐量有利。 - maaartinus
@maaartinus是每GB存儲的成本比RAM好,但是(MB / s)/ $呢? OP關心加速他的系統,而不是存儲。正常的當前版本SSD驅動器的傳輸速率約為280MB / s,這是我在newegg上找到的最便宜的速度是99美元。 DDR2 800 ram(非常常見)的傳輸速率為6000 MB / s,4Gb為56美元。因此SSD為2.8(MB / s)/ $,RAM為107.4(MB / s)/ $。是的,你可以捏造這些數字並使用非常昂貴的內存和一塊硬盤,但即便如此,我也不認為SSD的吞吐量會更便宜。 - Scott Chamberlain
@Scott Chamberlain我同意使用RAM可以提高速度。根據系統的不同,它可能是最佳選擇。當你需要大量內存時,RAM可能會變得過於昂貴,而使用便宜得多的SSD可以獲得非常好的性能。 RAM的高得多的吞吐量不需要太大地影響全局內存吞吐量,因為大多數操作無論如何都要在內存中完成(您可以將RAM視為更大SSD的一種緩存)。最佳位置介於兩者之間(即購買更多RAM和一些SSD)。 - maaartinus
-1為了滿足你的自我,+ 0.5得到一個好的答案;然後我圍捕了。不可否認,我已經保持交換啟用了我進入頁面空間的罕見時間,並且在我有機會抓住它之前它崩潰了我的操作系統。現在,如果它是頁面,我通常可以在出現更大問題之前告訴並殺死一些東西。 - Damon
RAM不再比SSD空間便宜,也許你的主板已經處於其最大RAM容量。我的主力機器有64GB;不能再高了。 - sudo


很多人都在說“如果你可以幫助它就不要交換”,但這是誤導性的,至少在Windows上(也可能對Linux來說)。 Windows,尤其是最近的版本,將始終嘗試用它認為快速需要的緩存數據填充RAM,並故意將其他內容交換到磁盤。無論你有多少內存,它都會這樣做。我有4GB,只有一半在使用,但仍然發生交換。禁用交換也是一個壞主意,因為某些程序可能需要為它們保留大量內存(想想Photoshop),並且您可以輕鬆地消除內存消息。這取決於使用情況,但交換對於極端情況總是有用的。

因此,SSD不是RAM的替代品(說“獲得更多RAM”是缺少這一點),但可能是硬盤上虛擬內存的更快替代品。看一下這篇評論,看看SSD如何將機械硬盤驅動器留在塵埃中: “硬盤綜合報導2010年6月”

還要記住,IOPS數字遠比傳輸速率重要。

另一件需要考慮的事情是您當前的交換驅動器是否也是您的主驅動器。對大多數人來說,答案是肯定的。這意味著硬盤驅動器必須訪問分頁虛擬內存,同時還要訪問數據和程序。在這種情況下,具有用於尋呼的SSD可能會有明顯的改進。

我正在尋找一個試圖通過這個來提供關於性能的確切信息的人,但在紙面上,這個案例看起來很明確。


11
2018-04-22 21:26





Patrick Regan關於“swappiness”的回答很明顯:根據您的使用情況,它可能會很好,如果您使用Linux,您可以 調整sysctl中的“vm.swappiness” (如前面的問題所述)供您使用。

所以我很想說是的,只要你給交換機提供大量磁盤。我一直聽到很多關於SSD驅動器上的內部控制器具有超級調整算法來對抗寫入磨損,所以理論上這將有所幫助 - 給它足夠的空間,並將內核swappiness級別設置得低,SSD控制器可以傳播寫出並防止任何磨損問題。

這讓我想知道最大的交換分區是什麼。我鎖定你提到的“交換分區”並想到“Linux”,所以我調查了那裡的最大值。

事實證明,你可以創建像16 TB交換分區這樣荒謬的東西,至少基於內核數學。 再用mkswap 可能無法實際初始化該分區,但內核支持它。但是,內核不能 使用 它。 根據這個,16 GB是你可以做的最大交換分區 並使用 在現代Linux內核中。

所以是的,你可以,如果你的用法是相當無交換的。但是,如果你的交換量很大,可能是一個廉價的USB密鑰 準備好提振 (或等效的Unix)會更合適 - 這樣當你的交換破壞設備被覆蓋時,更換它會很便宜並且不會花費你另一個SSD的價格。


2
2017-10-06 14:56



在不知道寫入磨損算法的細節的情況下,您無法知道更大的分區將有所幫助。我認為寫入磨損算法在頁面級別工作,無論分區是什麼,因為SSD是隨機訪問。這些算法的重點是避免過度磨損,為什麼他們不會使用整個驅動器來傳播寫入,即使對於小分區也是如此? - Ben S
有道理。我假設傳播將限制在分區內。我想相反的觀點是,如果你沒有做一些限制,維持一個什麼頁面的列表將會失控,但我們真的不知道。 - quack quixote


2016年更新

性能

現在有一些關於SSD的更新數據。它們通常讀取,寫入500 MB / s。正常的RAM I / O大約為10-20 GB / s。但是PCI-e SSD存在;它們確實具有良好的I / O速率(1-2 GB / s),但在2000年代中期它們的性能仍然像RAM一樣。

績效比率是:

  • 如果RAM是100%
  • PCI-e SSD約為10%
  • SSD約為2,5-5%
  • 硬盤大約為0.25-1%

如果你有硬盤,你的虛擬內存可能會有很好的性能提升。

價錢

普通SSD變得便宜,但具有良好I / O的PCIe SSD並不便宜。做數學;出於PCI-e SSD的價格,您可以購買帶有新RAM的新主板,瞧,問題解決了。

另一方面,由於SSD變得更加實惠,它們非常便宜,實際上我將重用舊的96 GB SSD作為虛擬內存。我不能真的賣它,所以我可以用它來虛擬內存。好吧,為什麼不呢?它仍然比硬盤更好。如果您必須擁有頁面文件,請將其放在舊版驅動器上。

可靠性

下列 測試 表明他們中的許多人在一段時間後失敗了。

Failure

100-600太字節真的是很多I / O,如果你說48 GB的虛擬內存,如果你讀寫全部進出,這意味著在第一個壞扇區之前至少有2000次迭代,但如果你有一個可靠的磁盤,它更像10000或更多。我認為這是兩年或三年的使用。

 

如果我確實需要它,我會將它用作虛擬驅動器,但如果它是一個可用的選項,只要盡可能擴展你的RAM。僅在用完選項時才使用此虛擬內存。另一方面,您可以將舊的SSD用於此目的,如果失敗(可能不會持續很長時間),您可以隨時更換30-40美元,它可能很有用。

用於虛擬內存的PCI-e SSD:如果你想燒錢,或者你絕對別無選擇。

最後一個旁注:如果你現在只有硬盤驅動器,去購買SSD,遷移你的操作系統,你會覺得你買了一台新電腦。


2
2018-03-17 22:09





除非你 需要 交換文件(例如暫停到磁盤),我只需關閉交換並擺脫你的交換分區。

交換點是提供額外的緩存級別。由於您的SSD具有低延遲,因此使用交換的收益要低得多。

如果你的系統幾乎沒有交換,那麼擺脫它就更有意義了。我已經運行了幾個沒有任何交換的Linux機箱幾年(在常規硬盤驅動器上)沒有性能問題。任何超過2 GB RAM的盒子我都不會為了交換而煩惱。


1
2017-10-06 15:05





雖然SSD驅動器的隨機讀取非常好,但隨機寫入性能可能非常糟糕。顯然是一些SSD 僅提供12次寫入IOPS,這只是標準旋轉磁盤提供的十分之一(~110 IOPS),甚至更快的SSD如Super Talent SSD可能只提供50個隨機寫入IOPS。

另一方面,SSD可以每秒執行數千次操作,例如Intel X25-M 160 GB 34 nm MLC G2可以執行86001 (根據英特爾規格表)或甚至153342 隨機寫入4k塊的IOPS。

總而言之,您的SSD的交換性能可能會更好,但在您檢查SSD可以實現的隨機寫入IOPS數量之前,不要假設情況會如此。

[1]: http://download.intel.com/design/flash/nand/mainstream/322208.pdf

[2]: http://www.legitreviews.com/article/1022/6/


1
2018-06-18 09:52



現在買之前檢查IOPS非常容易。如果你看一下ssd評論,你會發現即使是更便宜的固態硬盤(我以130美元的價格購買下面的固態硬盤)也能達到1700的IOPS。 ssdreview.com/review/compare/...  - 與7200rpm梭子魚相比: ssdreview.com/review/compare/... (300 iops)我不確定15k驅動器更好。你會發現很多SSD現在突破3k IOPS。 - cgp


我傾向於說它的性能提升是不值得的,特別是如果你有很多RAM。如果你有至少2GB的內存,你可能無論如何都不會打賭,所以好處是最小的。更不用說SSD尺寸相對較小,所以你可能不想在它上面吃掉幾GB的頁面文件。


0
2017-10-06 14:43