關於操作Ubuntu中SSD固態硬碟的安裝步驟和最佳化技巧

佚名發表於2019-03-13

  SSD硬碟對於我們電腦的重要性自然是不必說的,一個好的SSD硬碟可以幫助我們節省很多的電腦空間的使用,有小夥伴在網路上提問對於SSD固態硬碟的使用需要在安裝的Ubuntu系統中最佳化的時候自己不知道你怎麼設定的,對於這個疑問今天小編就來跟大家分享一下詳解關於操作Ubuntu中SSD固態硬碟的安裝步驟和最佳化技巧。

具體的方法和詳細的步驟如下:

安裝

1.下載Ubuntu光碟映象

2.利用u盤安裝

  此時,計算機已經沒有光碟機可用,利用UltraISO的“寫入硬碟映象”將ISO檔案寫入u盤中。

3.安裝

  大部分過程與普通安裝方法一致,/掛載點分配20G,/home掛載點分配其他SSD容量,再新建立一個/store掛載點分配所有的機械硬碟容量。所有的分割槽格式都選ext4。

最佳化設定

  1.使用Ext4 without journaling檔案系統

  傳統的SSD+Linux組合一般推薦Ext2檔案系統,主要是考慮到Ext3、Ext4需要額外的記錄日誌,會縮短SSD使用壽命,而且新出現的TRIM技術在Ext2中有兩個缺點:

  僅支援離線TRIM,換句話說檔案系統必須只讀掛載;

  需要手動執行hdparm命令或wiper.sh指令碼。

  Ext4則沒有這些限制,允許TRIM後臺執行,並且日誌記錄功能可以手動關閉(沒有日誌的情況下,檔案系統更容易損壞,如突然斷電),如果你甘願冒這樣的風險,從而延長SSD使用壽命,值得一試。另外,許多測試中如:Testing EXT4 & Btrfs On A Serial ATA 3.0 SSD,像Btrfs這樣為SSD準備的檔案系統不如Ext4速度快(用SSD不就為了快麼)。

  所以,上面安裝系統時,選擇了Ext4系統,接下來需要關閉日誌功能。

  首先,系統掛載時無法停用日誌功能,所以需要進入剛才的隨身碟系統,利用root許可權執行:

  tune2fs -O ^has_journal /dev/sda1

  即關閉/dev/sda1上的日誌功能。

  然後,執行作業系統檢測:

  e2fsck -f /dev/sda1

  不這樣,檔案系統可能會出錯。

  最後,重啟,進入SSD中的系統,檢查是否設定成功:

  dmesg | grep EXT4

  如果出現:

  EXT4-fs (sda1): mounted filesystem without journal

  說明設定成功。

  原來是:mounted filesystem with ordered data mode

  如果需要再次開啟日誌功能,只要執行tune2fs -O has_journal /dev/sda1即可。

2.開啟TRIM功能

  TRIM是一種作業系統排程SSD塊寫入的方式。主要是因為同一個SSD的快閃記憶體單元頻繁操作會磨損,影響使用壽命,區別於傳統的機械硬碟處理刪除資料。Linux核心自2.6.33開始支援TRIM。

  首先,檢查核心版本是否支援TRIM:

  uname -a

  然後,檢查SSD硬碟是否支援TRIM:

  hdparm -I /dev/sda

  如果顯示比如(不同硬體可能不同提示):

  * Data Set Management TRIM supported

  說明支援。

  這兩個條件都滿足,在/etc/fstab中將:

  /dev/sda1 / ext4 defaults 改為:

  /dev/sda1 / ext4 discard,defaults 分割槽、掛載點、已經存在的選項不一定一樣。

  測試新的fstab檔案:

  mount -oremount /dev/sda1

  然後掛載:

  mount

  如果顯示discard字樣,說明成功,如:

  /dev/sda1 on / type ext4 (rw,discard)

3.swap空間處理

  對於大記憶體來說swap基本上都是空閒的,除非電腦進入休眠狀態,系統會將記憶體內容轉到swap中。有了SSD,開關機都在幾秒中,對我來說swap沒用,所以上面直接不分配swap空間。

  如果分配了也行,空間要小,而且透過設定/proc/sys/vm/swappiness裡面的值,來減少swap換出量:

  echo 1 》 /proc/sys/vm/swappiness

  0到100之間,值越大換出量越大。

4.設定noatime

  當訪問檔案時,系統會更新last-Access這個檔案/目錄後設資料,設定noatime後可以減少這種操作。

  將2步中的:

  /dev/sda1 / ext4 discard,defaults 改為:

  /dev/sda1 / ext4 noatime,discard,defaults 測試設定成功方法與上面一樣。

5.使用noop磁碟排程

  通常作業系統排程機械硬碟時會提供一些資料的物理位置,這樣有利於機械硬碟最佳化尋道,但是對SSD沒意義,所以採用noop磁碟排程,即簡單傳送請求,可以提高效率。

  可以透過以下命令檢視排程方法:

  cat /sys/block/sda/queue/scheduler

  比如顯示:

  [noop] deadline cfq

  在/etc/rc.local中新增如下語句:

  echo noop 》 /sys/block/sda/queue/scheduler

6.記憶體分割槽加速

  如果記憶體夠大,可以用ramdisk的方式,將一些經常變化的位置如/tmp放入記憶體,加快速度,減少對SSD的訪問。

  依然是加在/etc/fstab中:

  tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

  tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0

  tmpfs /var/log tmpfs defaults,noatime,mode=1777 0 0

  更新方法與2相同,記得將瀏覽器等程式的快取目錄設定到/tmp下,現在開機時間10秒左右。

  透過本次的分享小夥伴們想要自己安裝SSD硬碟的話,可以試試本次的教程詳解關於操作Ubuntu中SSD固態硬碟的安裝步驟和最佳化技巧,希望本次的教程對你有很多的幫助可以實現。

相關文章