Ubuntu希望在ubuntu14.04中預設為ssd啟用TRIM。換句話說,Ubuntu還沒有使用TRIM,所以你的SSD會隨著時間的推移而變慢。但是為什麼Ubuntu還沒有使用TRIM呢?
這個訊息可能會讓很多人感到驚訝,他們認為Ubuntu和其他Linux發行版已經在使用TRIM了。修剪防止SSD隨著時間的推移而變慢,是SSD維護的必要部分。
我們之前已經討論過為什麼修剪很重要。當您刪除舊的磁性硬碟上的檔案時,計算機只會將該檔案標記為已刪除。檔案的資料會留在硬碟上,這就是刪除的檔案可以恢復的原因。當計算機用新資料覆蓋已刪除的檔案的扇區時,它最終將覆蓋這些檔案。
固態驅動器(SSD)的工作方式不同。每當您將檔案寫入SSD時,計算機必須首先擦除要將資料寫入的扇區中的任何資料。它不能只在一次操作中“覆蓋”扇區—它必須先清除扇區,然後寫入空扇區。
這意味著SSD將隨著時間的推移而減慢。第一次寫入SSD的扇區將很快。刪除一些檔案並嘗試再次寫入後,將需要更長的時間。這是谷歌最初的Nexus7在一段時間內放慢速度的一個重要原因。谷歌透過在android4.3中實現TRIM解決了這個問題。(Android也使用Linux核心。)
啟用TRIM後,作業系統會在每次刪除檔案時通知SSD。然後驅動器可以擦除包含檔案內容的扇區,因此將來寫入扇區的速度會很快。
換句話說,如果您不使用TRIM,您的SSD將隨著時間的推移而減慢。這就是為什麼現代作業系統,包括windows7+、macosx10.6.8+和android4.3+都使用TRIM。TRIM早在2008年12月就在Linux中實現了,但是Ubuntu在預設情況下沒有使用它。
相關:什麼是固態硬碟(SSD),我需要它嗎?
Ubuntu預設不修剪ssd的真正原因是Linux核心對TRIM的實現很慢,在正常使用時會導致效能不佳。
在Windows7和Windows8上,Windows每次刪除檔案時都會發送一個TRIM命令,告訴驅動器立即刪除檔案的位。當使用“discard”選項掛載檔案系統時,Linux支援這一點。然而,Ubuntu和其他發行版出於效能原因預設不這麼做。
OpenSUSE的wiki包含了一些來自比我們更熟悉Linux核心的開發人員的詳細資訊。這有點過時,但在效能方面可能仍然如此:
“The kernel implementation of realtime trim in 11.2, 11.3, and 11.4 is not optimized. The spec. calls for trim supporting a vectorized list of trim ranges, but as of kernel 3.0 trim is only invoked by the kernel with a single discard / trim range and with current mid 2011 SSDs this has proven to cause a performance degradation instead of a performance increase. There are few reas*** to use the kernels realtime discard support with pre-3.1 kernels. It is not known when the kernels discard functionality will be optimized to work beneficially with current generation SSDs.” [Source]
換句話說,Linux核心以一種緩慢、未最佳化的方式處理此類實時TRIM命令。啟用類似於Windows的TRIM操作(即使用“discard”選項)會導致系統實際上變得比根本不使用TRIM時慢。Ubuntu和其他Linux發行版在預設情況下不會為您的檔案系統啟用“discard”,您也不應該啟用。
因為Linux核心的實時“丟棄”TRIM操作執行得不好,大多數Linux發行版(包括Ubuntu)不會自動使用TRIM。Android在android4.3之前也沒有使用TRIM。
但還有另一種方法可以使用修剪。可以使用FITRIM特性,而不是在每次刪除檔案時簡單地發出TRIM命令。這是透過fstrim命令實現的。本質上,fstrim命令分析檔案系統並通知驅動器哪些塊不再需要,以便驅動器可以丟棄它們。這將從實時操作轉換為計劃任務。換句話說,fstrim可以作為cron作業執行TRIM。沒有理由不這樣做。它不會減慢任何速度;它只是系統必須按計劃執行的另一項房屋清潔任務。
相關:為什麼我的Nexus7這麼慢?8種加速方法
事實上,這是谷歌在android4.3上採取的方法。Android只是偶爾執行一個fstrim任務來修剪檔案系統,修復了所有nexus7的問題。
Ubuntu也在考慮透過讓系統定期執行fstrim來自動啟用TRIM。這將有望成為ubuntu14.04的一部分,這樣Ubuntu使用者就不會被迫處理SSD效能下降或自行執行fstrim。
我們不建議使用“discard”操作掛載檔案系統,因為這可能會導致正常使用時效能降低。但是,您可以透過偶爾執行fstrim命令或建立自己的cronjob來使用TRIM。
要在Ubuntu上修剪SSD,只需開啟一個終端並執行以下命令:
sudo fstrim -v /
您可以偶爾執行上述命令,以防止ssd上的效能下降。需要多長時間執行一次取決於從SSD中刪除檔案的頻率。如果您嘗試在不支援TRIM的驅動器上執行該命令,您將看到一個錯誤。
如果希望定期執行TRIM,只需建立一個cronjob來執行fstrim命令。下面是如何使一個赤骨cron工作,將自動做到這一點。
首先,執行以下命令以根許可權開啟nano文字編輯器:
sudo nano /etc/cron.daily/fstrim
在檔案中鍵入以下程式碼:
#!/bin/sh
fstrim /
按Ctrl+O儲存檔案,然後按Enter確認。儲存檔案後按Ctrl+X關閉nano。
最後,執行以下命令使指令碼可執行:
sudo chmod +x /etc/cron.daily/fstrim
Ubuntu現在將按計劃執行fstrim,就像它執行其他系統維護任務一樣。
請注意,TRIM僅在現代檔案系統上受支援,因此您需要類似ext4的內容,而不是ext3或ext2。如果您不知道使用的是什麼檔案系統,請不要擔心,預設情況下選擇ext4。
這些建議中的大部分也適用於其他Linux發行版。雖然Linux很久以前就在核心中實現了TRIM支援,但是Linux發行版中的典型使用者似乎從未預設啟用過它的TRIM支援。
圖片來源:Flickr上的梅斯·奧賈拉(裁剪)
...裝的USB驅動器。 啟動驅動器並選擇選項1,預設設定。 一旦啟動磁頭開始(左下)>系統工具>擦除磁碟。 選擇內部:安全擦除命令將零寫入整個資料區選項,然後在下一螢...
...應用來修剪和分割你的影片。我們推薦VidCutter,我們將在Ubuntu的本指南中使用它。 ...
...圍的各個單元中(即,不一定是所有相鄰單元)。同樣的情況也發生在硬碟上。但主要的區別在於,機械頭不需要在硬碟上跳來跳去,只需拿起所有這些位就可以訪問一個檔案。SSD控制器可以透過電訊號快速採集資料,這就是為...
... 在一起編輯影片之前,你需要一個時間表。這在預設情況下不會出現--要檢視它,請開啟“檢視”選單並選擇“時間線”。你現在需要做的就是開始沿著時間線排列你的影片片段,也許還有一些靜態影象和音訊。預設...
... 您應該更改瀏覽器中的預設下載資料夾,以避免一直將下載的檔案儲存到SSD中。在Chrome中,單擊三點選單並選擇設定。向下滾動到底部,展開“高階”部分,然後查詢下載。 ...
...。微軟剛剛修改了windows10,不再信任那些粗略的ssd,而是預設使用軟體加密。 總而言之,固態驅動器和其他硬碟可以聲稱是“自加密”的。如果是這樣,BitLocker將不會執行任何加密,即使您手動啟用了BitLocker。從理論上講,這...
ubuntu18.04lts預設使用gnomeshell桌面,它不包含更改桌面主題的方法。無論你是在尋找一個明亮的藍色主題還是一個漂亮的深色主題,下面是如何定製你的桌面。 雖然預設情況下它不包括許多定製選項,但是gnomeshell桌面是非常可定...
...igh Sierra上,它用於所有機械和混合驅動器,舊版本的macOS預設情況下用於所有驅動器。 ExFAT是最好的跨平臺選項,設計用於Windows和macOS系統。使用這個外接驅動器將**這兩種型別的計算機。 選擇檔案系統基本上就是在這三個選...
...小。 我們已經介紹瞭如何使用ntfsundelete和photorec工具從ubuntulivecd或USB驅動器執行此操作。 相關:從Ubuntu Live CD恢復NTFS硬碟上刪除的檔案 恢復已刪除檔案的更快、更危險的方法 如果你想拿回一個被刪除的檔案,但是這個檔案並...