UbuntuはSSDで使用するTRIMコマンドをサポートしていますか?


34

パフォーマンスを維持するために、ドライブがいっぱいになった後、SSDドライブを「クリア/リセット」する必要があります。これは、新しいSSDドライブのTRIMコマンドを使用して実行されます。Ubuntuは、これらのドライブのクリア/リセットのために(hdparmなどを介して)TRIMコマンドをサポートしていますか?


良い質問ですが、TRIMがパフォーマンスを改善する程度はSSDによって異なることに注意してください。一部の人にとっては、あなたが思うほどの違いはありません(とにかく遅いと思われますが)。
ニコラスナイト

1
パフォーマンスは、工場出荷時のデフォルトに近い場合(同じでない場合)に復元されると思います。説明についてはこちらをご覧ください-> anandtech.com/show/2738/10
ssanj

回答:


24

10.10以降のリリースでは、TRIM機能がサポートされているようです。

また、TRIMの処理は自動的に行われます。ディスクがTRIMをサポートしていると報告した場合、空のブロックは不要になると自動的に解放されます(ファイルを削除するなど)。これが機能するためにhdparmコマンドを手動で発行する必要はありません。


TRIMコマンドをSDDに「送信」するツールを使用する必要があると思いました。指定したとおりに機能する場合は便利です。:)このAnandtechの記事->(anandtech.com/show/2738/10)は、TRIMが機能するために、OSとSSDの両方がTRIMサポートを必要とすることを指定しています。私の質問は、TRIM対応SSDドライブを使用した場合のTRIMのOS / Linuxサポートに関するものだと思います。
ssanj

3
TRIMコマンドは、解放するブロックを知る必要があるため、ディスク上のどのブロックが使用されていないかを正確に知らずにこれを発行するのは危険です。はい、OSとディスクの両方にトリムサポートが必要です。Linuxでは、これはカーネルバージョン2.6.33で追加されたため、Maverickに含まれます。ディスクドライバーと使用しているファイルシステムの両方が、適切に機能するためにトリムをサポートする必要があります。Maverickでファイルシステムとしてext4を使用している場合は、問題ないはずです。
ジェレミーカー

OSがTRIMをサポートする前に蓄積された既存のクラフをクリーンアップするために、既存のSSDが「改造されたTRIM」を受ける可能性があるのではないかと思います。または、再インストールが必要ですか?
ケントブーガート

20

ジェレミーの答えは完全に正確ではありません。私はしばらくの間Lucidで最新の安定したカーネルを実行しており、メインディスクとしてOCZ Agilityを使用しているので、TRIMのステータスを非常に鋭く追跡しています。

ここに私が知っている(私が思うに)があります:

  • カーネルは2.6.33からTRIMをサポートしています(Maverickは2.6.35です)。

  • EXT4はTRIMをサポートしていますが、ジャーナリングがオフになっている場合のみです。

  • カーネルでTRIMが機能する方法は非常に基本的であり、非常に低速です。仕様に準拠したディスクは複数の範囲を受け入れることができますが、カーネルは現在一度に1つの範囲しか実行できません。これは、おそらく一ヶ月前に読んだものから来ています。これは当てはまらないか、適用されなくなる可能性があるため、ソースがあればいいのにと思います。

ジャーナリングは私にとってそれを殺すものです。データ破損はPITAです。

ただし、新しいバージョンのhdparm(v9.25-Maverickはv9.27)にwiper.shは、ドライブの迅速な分析を実行し、すべての空のスペースをトリミングするスクリプトが付属しています。機能を失うよりもwiper.sh、1週間に1回(または1日に1回、1か月に1回)cron を実行する方がはるかに簡単です。OSドライブのSSDの劣化は、絶えず物事を壊していない限り、それほど速く起こりません。リアルタイムのトリミングは必要ありません。

また、リポジトリには存在しないように見えるDiskTRIMと呼ばれるGUIフロントエンドもあります。経験の浅いユーザーは、cronジョブを設定するよりも使いやすいと感じるかもしれません。

hdparmとdisktrimにはPPAがあり、すべて2.6.33+カーネルを必要とせずにLucid(およびそれ以降)で実行できます。


それらのPPAにリンクしてください。
ホルヘカストロ

discardext4 のマウントオプションを有効にすると、ジャーナリングが無効になりますか?参考文献を検索しましたが、この回答以外に参考文献を見つけることができません-ソースを提供できますか?
ハミッシュダウナー

2
Ubuntuの12.04でwiper.shはfstrimに置き換えられました
ともだち

1
@Oli:もう少し読みましたが、discardオプションジャーナルを無効にしないことを確信しています。当初、破棄オプションはジャーナルでのみ機能しました(ジャーナルなしで破棄できるこのパッチを見つけました)。カーネルのext4ページの文書破棄オプションが、ジャーナルは互換性がありません言及していません。
ハミッシュダウナー

8

Linuxは、カーネル2.6.33以降、ETX4ファイルシステムでの自動TRIMをサポートしています。

自動TRIMサポートを備えた最初のUbuntuリリースは10.10(Maveric)ですが、fstabでアクティブ化する必要があります(ここで説明します)。


4

一般的には、新しいカーネルを入手する方法がたくさんあるためです。質問を明確にして、「10.04 LTSにはすぐにコマンドのサポートがありますか?」答えはノーです。しかし、両方のマーベリックさんとナッティのカーネル(-generic、-generic-PAEは、-server、および-virtual味)は、例えば、10.04 LTSにバックポートし、Ubuntuのリポジトリに$リリース・アップデートから入手できますされているlinux-image-generic-lts-backport-maverickある明晰にマーベリックのバックポート


2

私は11.04を実行していますが、TRIMはそのままで動作しているようには見えません。

ここで説明する手順を使用してファイルを作成、削除し、セクターがゼロ化/削除されるかどうかを確認してテストしました

ここの手順を使用して TRIM 有効にしようとしましたが、サイコロはありません

私はワイパーを実行します、私は得る

/sbin/wiper.sh --verbose --commit / dev / sda1
ワイパー.sh:Mark LordによるLinux SATA SSD TRIMユーティリティ、バージョン3.3。
rootdev = / dev / sda1
fsmode2:fsmode = read-write
/:fstype = ext4
フリーサイズ= 13785252 KB、予約済み= 137852 KB
/ dev / sda1の空き領域のオンラインTRIMの準備(ext4は/に読み書き可能にマウント)。

この操作は、データを静かに破壊する可能性があります。本当に(y / N)ですか?y
一時ファイルの作成(13647400 KB)..
ディスクの同期..
TRIM操作の開始..
get_trimlist = / sbin / hdparm --fibmap WIPER_TMPFILE.9689

/ dev / sda:
462の範囲から27294800セクターをトリミング
成功した
一時ファイルを削除しています。
ディスクの同期..
できた

ただし、もう一度実行すると、同じ数のセクター/範囲をトリミングする必要があることが示され、再び成功が報告されます。私は毎回まったく同じものを得ます。セクターが削除/解放されたようには見えません。それらを読み取っても、同じデータが表示されます。

他の誰かがそれを動作させるかどうか興味があります。


discardオプションをfstabに追加してもまだ機能しない場合は、おそらくアルファのバグです。バグレポートを提出する必要があります。
ウリ

私はこれをnattyでテストしました(askubuntu.com/questions/18903/how-to-enable-trimの指示に従って)。そして、nattyでの動作はさらに良く、TRIMはほとんど瞬時に実行されます。
ウリ

TRIMをサポートしていないSSDがある可能性があります-以前のSSDの多くはTRIMをサポートしていませんでした。
ハミッシュダウナー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.