SSD向けのUbuntu(およびその他のLinux)の最適化

読んだすべての人に良い日。 このミニ記事では、ソリッドステートドライブの作業を最適化する(そしてもちろん、ライフサイクルを延長する)主要なポイントを収集して検討したいと思います。 ほとんどすべての情報はネット上で簡単に見つけることができますが、ここではいくつかの落とし穴について言及しようとします。



最初にすべきことは、ファイルシステムの選択です。 システムがデスクトップ上にある場合、特別な質問はありません-ext4をジャーナリングします-これは他のFSよりも多くの利点があります。 はい、メディアへの書き込みサイクルは増えますが、停電の際にデータが失われないという保証があります。 ラップトップ、ネットブックでは、バッテリーがあり、電力損失による切断の可能性はほぼゼロです(ただし、もちろん何でも起こります)。したがって、通常、ジャーナリングをオフにすることをお勧めします。 本当にこれをしたい場合は、システムをインストールした後、liveCDから起動し、ターミナルに書き込みます



tune2fs -O ^has_journal /dev/sda1

e2fsck -f /dev/sda1








他の方法は推奨されません-TRIMサポートを失います。 また、「 ライトバック 」パラメーターをfstab構成に追加してログをオフにしないでください-マウントエラーのためにシステムが起動しません(以前にトリムをオンにした場合)。



次に考慮すべきことは、スワップファイルです。 私のnix(現在-ubuntu 11.04)では、通常コードが記述され、映画はHDで視聴され、インターネットは活発にネットサーフィンされています。 この間、ページングファイルは不要で、RAMの最大消費量は1GBで、ネットブックで利用可能な2つのうち1つでした。

システムを使用するシナリオが私のシナリオに似ている場合、またはデスクトップがない場合、ページファイルは必要ありません。 それ以外の場合は、HDDに転送する必要があります。 比較的無害であるためにジャーナリングを残すことができる場合、スワップパーティションは明らかに悪であり、限られた書き換えサイクルと高価なギガバイトの両方を食い尽くします。



さて、システムがインストールされました-あなたは最適化を行うことができます! 最初のステップは、TRIMを有効にすることです。これは、SSDの寿命と負荷分散を延長する主要なテクノロジーです。

それは非常に簡単になります-fstabを開きます(たとえばこのように)



gksudo gedit /etc/fstab







行を探しています

「UUID = [NUMS-AND-LETTERS] / ext4エラー= remount-ro 0 1」

で置き換える

「UUID = [NUMS-AND-LETTERS] / ext4破棄、エラー= remount-ro 0 1」



通常、デフォルトのトリムは無効になっていますが、チェックする方法を投稿します-ルートの下に移動してコマンドを実行します



dd if=/dev/urandom of=tempfile count=10 bs=512k oflag=direct



// 5Mbのランダムデータを書き込む



2. hdparm --fibmap tempfile



//ファイルから開始LBAアドレスをhdparm --fibmap tempfile



ます



3. hdparm --read-sector [ADDRESS] /dev/sdX



//開始LBAファイルアドレスからデータを読み取り、[ADDRESS]を前のコマンドの出力からの開始LBAアドレスに置き換えます



4. rm tempfile //ここで一時ファイルを削除し、FSを同期します。

5.同期



ステップ3を繰り返して、コンソール出力を確認します。 ゼロが表示されている場合、トリムは機能しています。 fstabを修正してリブートしたが、トリムがアクティブにならなかった場合-無効なロギング切断のエラーを探してください。



さらに、Nixはさまざまなログを保持するのが大好きであることを思い出してください。 そして、それらをHDDに転送するか、システムが再起動するまでRAMに保持します。 自宅にサーバーがない場合、2番目のオプションが最適であり、次の行をfstabに追加することで実装されると思います

tmpfs / tmp tmpfsデフォルト0 0

tmpfs / var / tmp tmpfsデフォルト0 0

tmpfs / var / lock tmpfsデフォルト0 0

tmpfs / var / spool / postfix tmpfsデフォルト0 0





デフォルトでは、各ファイルを開くたびに-システムは最後に開いたときにマークを残します-不要な書き込み操作。 離乳は簡単です-パラメータの前にfstabに追加します

破棄、エラー= remount-ro 0

さらにいくつかのオプション-

relatime、nodiratime最初は、変更の時間のみを記録できます(一部のプログラムの安定した動作に必要な場合があります)、2番目-ディレクトリへのアクセス時間の記録をキャンセルします。 原則として、 relatimeの代わりに何も更新しないnoatimeを指定できます。



その後、遅延記録を設定する価値があります-カーネルは、ディスクへの書き込みを待機しているデータを蓄積し、緊急の必要がある場合、またはタイムアウト後に書き込みます。 タイムアウトを60秒に、誰かを150秒に設定します。

これを行うには、/ etc / sysctl.confを開いてオプションを追加します

vm.laptop_mode = 5 //モードを有効にする

vm.dirty_writeback_centisecs = 6000時間/秒 つまり 100単位= 1秒



最後に、HDDヘッドをより適切に配置するために必要だったI / Oスケジューラーをオフにします。 これを行うには、hornbeam config / etc / default / grubに入ります

そしてラインに

GRUB_CMDLINE_LINUX_DEFAULT =「静かなスプラッシュ」挿入エレベーター= noopパラメーター

途中で、不要な情報のないスプラッシュ画面を削除し、 静かなスプラッシュを削除するだけで、システムの起動時間をさらに1秒短縮できます。



主なポイントは次のとおりです。 さらに、想像力を発揮する価値があります。たとえば、どこかに転送したり、ブラウザのキャッシュを完全に無効にしたりすることなどです。 行われた操作に対する報酬として、SSDは忠実にサービスを提供し、開始するたびに高速であなたを喜ばせます。



更新する

多くの人は、セクションを揃える必要があることに気付きます。 トピックへのリンクを提供してくれた同志に感謝します。 wiki.archlinux.org/index.php/SSD#Partition_Alignment

リスクを冒したくない場合は、ジャーナルをオフにしないことをお勧めします。 その後、トリムが機能することが保証され、主要なシステム障害からのデータ保護が行われます。



以下は、私が情報を受け取ったいくつかのリンクです。

vasilisc.com/ssd_ubuntu

tokarchuk.ru/2011/01/enable-trim-support-in-ubuntu

sites.google.com/site/linuxoptimization/home/ssd



All Articles