Linux 對SSD硬盤優化的方法

from:http://www.yangzhi.org/linux-%E5%AF%B9ssd%E7%A1%AC%E7%9B%98%E4%BC%98%E5%8C%96%E7%9A%84%E6%96%B9%E6%B3%95/

 

運行”sudo gedit /etc/fstab”來修改

 

1、關閉日誌功能

方法一:

fstab里加掛載參數data=writeback,如:

原始的UUID=2f6be0cf-2f54-4646-b8c6-5fb0aa01ef23 / ext4 relatime,errors=remount-ro 0 1

改後的UUID=2f6be0cf-2f54-4646-b8c6-5fb0aa01ef23 / ext4 relatime,errors=remount-ro,data=writeback 0 1

 

方法二:

還有直接去掉日誌功能的方法,這樣是不用重新分區的:

運行指令:tune2fs -O ^has_journal  /dev/sda1

自己把/dev/sda1改爲相應的分區號,要卸載分區才能運行該指令。

 

2、禁止記錄最近一次訪問的時間戳

默認情況下,Linux ext 文件系統在文件被訪問、創建、修改等的時候記錄下了文件的一些時間戳,比如:文件創建時間、最近一次修改時間和最近一次訪問時間。因爲系統運行的時候要訪 問大量文件,如果能減少一些動作(比如減少時間戳的記錄次數等)將會顯著提高磁盤 IO 的效率、提升文件系統的性能。Linux 提供了 noatime 這個參數來禁止記錄最近一次訪問時間戳。

給文件系統掛載的時候加上 noatime 參數能大幅提高文件系統性能:

原始的UUID=2f6be0cf-2f54-4646-b8c6-5fb0aa01ef23 / ext4 defaults,errors=remount-ro 0 1

改後的UUID=2f6be0cf-2f54-4646-b8c6-5fb0aa01ef23 / ext4 defaults,noatime,errors=remount-ro 0 1

 

3、啓用 TRIM 功能

Trim的作用

原本在機械硬盤上,寫入數據時,Windows會通知硬盤先將以前的擦除,再將新的數據寫入到磁盤中。而在刪除數據時,Windows只會在此處做 個標記,說明這裏應該是沒有東西了,等到真正要寫入數據時再來真正刪除,並且做標記這個動作會保留在磁盤緩存中,等到磁盤空閒時再執行。

這樣一來,磁盤需要更多的時間來執行以上操作,速度當然會慢下來。

而當Windows識別到SSD並確認SSD支持Trim後,在刪除數據時,會不向硬盤通知刪除指令,只使用Volume Bitmap來記住這裏的數據已經刪除。Volume Bitmap只是一個磁盤快照,其建立速度比直接讀寫硬盤去標記刪除區域要快得多。這一步就已經省下一大筆時間了。然後再是寫入數據的時候,由於NAND 閃存保存數據是純粹的數字形式,因此可以直接根據Volume Bitmap的情況,向快照中已刪除的區塊寫入新的數據,而不用花時間去擦除原本的數據。

以上就是Trim的原理以及真正作用。

注意:如果SSD組RAID0後,將失去Trim功能

 

Linux內核從2.6.33開始提供TRIM支持,所以先運行“uname -a”命令,查看自己的內核版本,如果內核版本低於2.6.33的,請先升級內核。

然後運行“hdparm -I /dev/sda”查看自己的硬盤支不支持TRIM技術,如果支持,你會看到

* Data Set Management TRIM supported

如果上面兩個條件都滿足了,就可以在fstab中添加discard來開啓TRIM功能,如:

原始的UUID=2f6be0cf-2f54-4646-b8c6-5fb0aa01ef23 / ext4 defaults,errors=remount-ro 0 1

改後的UUID=2f6be0cf-2f54-4646-b8c6-5fb0aa01ef23 / ext4 discard,defaults,errors=remount-ro 0 1

發佈了43 篇原創文章 · 獲贊 138 · 訪問量 70萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章