在 SSD 上使用 btrfs 檔案系統的相關優化

2021-09-23 16:56:09 字數 2854 閱讀 7078

在 linux 中掛載 ssd 上的 btrfs,可以採用各種引數進行優化:

#

<

file

system

>

<

mount

point

>

<

type

>

<

options

>

<

dump

>

<

pass

>

uuid

=《略》

/btrfs defaults

,ssd

,discard

,noatime

,compress

=lzo

,subvol=@0

1這些引數各有優缺點,酌情新增。

ssdbtrfs 檔案系統有對 ssd 進行優化,在掛載引數中加入ssd即可。該引數不會自動啟用 trim/discard。

discard

可以通過以下命令確認 ssd 是否支援 trim:

sudo

hdparm-i

/dev

/sdx

|grep

trim

*data

setmanagement

trim supported

(limit

8blocks

)若 ssd 支援 trim 命令,可以在 /etc/fstab 中啟用discard引數。建議將discard掛載引數作為首選。據 debian wiki 所述,包括三星,鎂光,英睿達在內的一些 ssd 在 discard/trim 上有問題,不能合適地處理 trim 命令。以下是 linux 核心相關處源** (2015/10/15):

/* devices that don't properly handle queued trim commands */,

,

,

,

,

,

,

/* devices that don't properly handle trim commands */

,

該引數不是必需的,也可以自定義週期性執行fstrim命令來取代該引數,使用該命令前要確認 ssd 支援 trim,否則可能造成資料丟失。當 ssd 有足夠的空餘空間或(未分配的)可用空間時不需要該引數。

noatime

掛載引數可以加入noatime,通過禁止更新訪問記錄來減少不必要的寫操作以提高效能。該選項對 hdd 同樣有效能提公升。btrfs 的預設配置為relatime

compress

開啟壓縮功能在通常情況下有利於提高傳輸效能(並非絕對),也可以節省儲存空間。加入以下掛載引數:

compress

=lzo

compress

=zlib

lzo 速度更快,zlib 壓縮率更高。注意確認 ssd 主控是否是非壓縮主控,若為壓縮主控不建議加入該引數。

若 ssd 帶有快取,啟用 write cache 可以提高效能:disks -> drive setting -> enable write cache,但在突然斷電的情況下可能造成資料丟失。

ssd 結構不同於傳統硬碟,定址時間短,i/o 排程演算法可選擇noop以降低延遲。以下命令可檢視與修改排程器:

cat

/sys

/block

/sdx

/queue

/scheduler

#sdx

指你的裝置

sudo

tee/

sys/

block

/sdx

/queue

/scheduler

<<<

noop

注意以上方法並不持久,重啟後會重置。如果 ssd 是系統唯一的儲存裝置,可考慮通過elevator=noop核心引數設定 i/o 排程器。也可使用 udev 規則來修改排程器,對多儲存裝置同樣有效:

/etc/

udev

/rules.d

/60-ssd

-scheduler

.rules

#建立該檔案

檔案內容如下:

# set deadline scheduler for non-rotating disks

action=="add|change", kernel=="sd[a-z]", attr=="0", attr="noop"

關於在ssd上使用btrfs檔案系統需要做的優化 - akarin.cn

solid state drives - arch wiki

ssd optimization - debian wiki

btrfs wiki

seastar在openEuler上的系統移植

seastar git clone dpdk git clone c ares git clone fmt git clone 找到目標原始碼合適版本是編譯嘗試出來的,採用編譯錯誤版本最少的乙個版本。這裡找到的版本是 seastar 18.08 branch git branch a git che...

IRST在ssd上建立休眠分割槽,開機12秒不是夢

本文介紹的是 intel英特爾rapid start technology,而非intel英特爾rapid storage technology。首先安裝 expresscache。然後 1 執行cmd 管理者身份 在cmd視窗依次輸入下面的英文命令,詳情參見windows的幫助文件 2 diskp...

在軟磁碟陣列 軟RAID 上搭建linux系統

新配了臺電腦,準備裝個雙系統,windows用來打遊戲,linux用來寫 專門買了兩塊1t硬碟,想用來搭建raid0,使用並行i o來提公升電腦的效能。選主機板的時候刻意選了支援raid的主機板,msi b85 g43 gaming,能用msi的super raid技術,但是買來之後發現,這東西的驅...