パフォーマンスを最適化し、ドライブの最大の耐久性を確保するために、ソリッドステートドライブにUbuntuをインストールする前/実行中/実行後に行うべき手順は何ですか?
ソリッドステートであろうと従来のドライブであろうと、Ubuntuがストレージデバイスを使用する方法を改善するために、いくつかの異なる技術をうまく使用しました。
SSDの場合は、読み取りによってドライブが摩耗することはないため、ドライブへの書き込み回数も最小限に抑えたいと考えています。
1)スワップファイルの管理
コンピュータを休止状態にせず、すべてのアプリケーションを実行するのに十分なRAMメモリがある場合、理論上はスワップパーティションは必要ありません。
SSDとハードドライブが混在している場合は、スワップパーティションをハードドライブのみに配置してください。
2)読み取りタイムスタンプの書き込みなし(SSDおよびハードドライブに適しています)
オプションnoatimeおよびnodiratimeでパーティションをマウントすると、タイムスタンプの書き込みが停止します。あなたはファイルとフォルダを読みます。 muttなどのローカルメールサーバークライアントを使用しない限り、これらのタイムスタンプの書き込みは通常必要ありません。これが一般に悪い考えである理由は、タイムスタンプを更新するときにすべての読み取りが書き込みを生成するためです。これにより、SSDの寿命が短くなります。
/ etc/fstab構成ファイルを編集します(慎重に-fstab構成を壊すとシステムが動作しなくなる可能性があるため、必ずバックアップを取ってください):
cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
ルート(/)および他のパーティションがある場合は、それらを定義する行にテキストnoatimeおよびnodiratimeを追加して、パーティションのマウントオプションを編集します(/ home)-注:/ homeがある場合パーティション、何かを壊すのが心配な場合は、そのパーティションを変更するだけで始めます
# / was on /dev/sda2 during installation
UUID=587e0dc5-2db1-4cd9-9792-a5459a7bcfd2 / ext4 noatime,nodiratime,errors=remount-ro 0 1
# /home was on /dev/sda3 during installation
UUID=2c919dc4-24de-474f-8da0-14c7e1240ab8 /home ext4 noatime,nodiratime,defaults 0 2
これらの変更を有効にするには、マシンを再起動する必要があります
3)OSおよびアプリケーションからの書き込みの最小化
ミッションクリティカルな製品サーバーを実行していないと仮定すると、ほとんどの人は何か問題が発生した場合にログを見ません(特に、ほとんどのUbuntuユーザーにとって深刻なエラーはまれです)。したがって、すべてのログがSSDではなくRAMメモリに書き込まれるようにUbuntuを構成できます。
注:使用するすべてのソフトウェア(特にApache Webサーバーなど)をインストールした場合にのみ、以下の変更を行ってください。そうしないと、/ var/logにディレクトリが見つからないという問題が発生する可能性があります
このアプローチの背景については、 buntu-eee.comのフラッシュドライブの寿命を延ばす をご覧ください。
エディターで/ etc/fstabを開きます(/ etc/fstabファイルをバックアップしたと仮定)
gksudo gedit /etc/fstab
Fstabファイルの最後に次の行を追加して保存します。
# Uncomment these after all server based applications installed - eg. Apache
#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=0755 0 0
#tmpfs /var/log/apt tmpfs defaults,noatime 0 0
# none /var/cache unionfs dirs=/tmp:/var/cache=ro 0 0
これらの変更を有効にするには、マシンを再起動する必要があります
こちらもご覧ください:
一般的に私は気にしません-SSDの寿命についての心配は誇張されています。これを読むことができます 本当に心配する必要のない理由に関する詳細な記事 。要するに、最新のSSD内の回路はウェアレベリングを管理し、あなたよりもはるかに優れた方法を知っています。
この記事では、80M/sの連続速度で書き込みを受信しているSSDの寿命を計算しています。寿命は51年です。これは2007年のテクノロジーに基づいています-SSDの寿命は現在より長くなります。また、ほぼ確実に1日24時間80M/sでSSDに書き込むことはありません。
ただし、時間の経過に伴うパフォーマンスの低下が問題になる可能性があり、 TRIM が解決策です。 2つのオプションがあります
自動TRIMを有効にする にする必要があります。 (基本的に、ext4を使用している場合は、discard
オプションをマウントオプションに追加します。) ファイルを削除するときに破棄オプションによりシステムの速度が低下する を報告するブログ投稿を見つけました。
fstrim を使用して、手動で(またはcronジョブで)ときどき実行できます。パーティションが1つだけの場合、必要なことは次のとおりです。
Sudo fstrim /
Fstrimは11.10以降でのみ利用可能です。古いシステムでは、wiper.sh
スクリプトが必要です。システムの/usr/share/doc/hdparm/contrib/wiper.sh.gz
でスクリプトを見つけました。
疑問に思っている場合、TRIMが解決する問題は、 Wikipediaによる記述 のように:
SSDはデータをページにグループ化されたフラッシュメモリセルに保存し、ページ(通常は各4 kB)がブロック(通常はブロックあたり128ページ、合計512 kB)にグループ化されます。 NANDフラッシュメモリセルは、空の場合にのみ直接書き込むことができます。データが含まれていると見なされる場合、書き込み操作を確実に実行する前に、まずコンテンツを消去する必要があります。 SSDでは、書き込み操作はページレベルで実行できますが、ハードウェアの制限により、消去コマンドは常にブロック全体に影響します。その結果、SSDメディアへのデータの書き込みは空のページが使用できる限り非常に高速ですが、以前に書き込まれたページを上書きする必要があるとかなり遅くなります。再度書き込む前にページ内のセルを消去する必要がありますが、ブロック全体のみを消去できるため、上書きによって読み取り-消去-変更-書き込みサイクルが開始されます:theブロック全体のコンテンツは、フラッシュメディアで効果的に消去される前にキャッシュに保存する必要があります。その後、キャッシュ内の上書きされたページが変更されるため、キャッシュされたブロックは最新になり、ブロック全体が更新されます)フラッシュメディアに書き込まれます。この現象は書き込み増幅として知られています。
いくつかのポイントがあります:
アライメント:
しばしば指摘されるのは、パーティションの正しい alignment です。これはSSDのブロックサイズと等しくなければなりません。安全にプレイし、パーティションをMiBの境界に揃えてください。 Ubuntuインストーラーのパーティションツール(MiBではなくMBを使用)でこれを行うことはできませんが、ライブCDを起動し、Gparted(MiBを使用)を使用してから、インストールをクリックして設定したパーティションを使用できます。
正しいスケジューラー:
重要なポイントは、 scheduler wich is should be noop
です。このスケジューラーは、カーネルパラメーターelevator=noop
またはrc.localのエントリecho noop > /sys/block/sda/queue/scheduler
を介して設定できます。
マウントフラグ:
noatime
とdiscard
をお勧めします
Tmpfs
Tmpをramdiskに置くと、ssdの寿命を延ばすことができます。これを使用するには、fstabに次の行を追加します。none /tmp tmpfs defaults 0 0
一般的に、このトピックをより深く掘り下げたい場合は、 this 優れたwiki-articleをお勧めします。
UbuntuでのSSDの高速チューニングコース:
filesystem
Arch wiki mentions SSDファイルシステムに適したオプションはほとんどありません。そのうちの1つは不安定で、他はext*のものです。 ext4が最良の選択の1つだと思います。
注:ext4の場合、discard
マウントオプションを使用できます。
fstab
# <file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
tmpfs /tmp tmpfs nodev,nosuid,noatime,mode=1777 0 0
/dev/sda1 / ext4 defaults,noatime,discard,errors=remount-ro 0 1
/dev/sda2 /home ext4 defaults,noatime,discard,user_xattr 0 2
/dev/sda3 /windows ntfs defaults,noatime,discard,umask=007,gid=46 0 0
ここで重要なことはほとんどありません:
swap
パーティションなし。現代のマシンにはかなりの量のRAMがあるため、今日では休止状態にのみ必要です。noatime
およびdiscard
オプション。情報は こちら です。スケジューラー
ほとんどのLinuxディストリビューションではcfq(完全に公平なキューイング)であるデフォルトのスケジューラーから、SSDのnoopまたはdeadlineスケジューラーへの切り替えを検討してください。たとえば、noopスケジューラを使用すると、データが物理的にディスク上のどこに存在するかを考慮せずに、要求が受信された順に単純に処理されます。このオプションは、SSDのすべてのセクターでシーク時間が同じであるため、SSDにとって有利であると考えられています。
以下を/ etc/rc.localに追加します。
# SSD performance tuning
echo noop > /sys/block/sda/queue/scheduler
info
4)自動TRIMを有効にする
SSDがサポートしている場合は、自動TRIMも有効にする必要があります( here で説明)
TRIMを使用すると、オペレーティングシステムはSSDに、使用中と見なされなくなったデータブロックと内部で消去できるデータブロックを通知できます。トリミングにより、SSDはガベージコレクションのオーバーヘッドを処理できるようになります。そうしないと、関連するブロックへの将来の書き込み操作が大幅に遅くなります。1
Ubuntu 14.04では、SSDを定期的に自動トリミングするutil-linuxパッケージに新しい機能が追加されましたが、デフォルトでTRIMが有効になっているのはIntelおよびSamsung SSDのみですなぜなら、いくつかの安価なSSDはTRIMを実行するときに自分自身をブロックすることさえできるからです。2 Ubuntu 14.04の/etc/cron.weekly/fstrim
の内容:
#!/bin/sh
# call fstrim-all to trim all mounted file systems which support it
set -e
# This only runs on Intel and Samsung SSDs by default, as some SSDs with faulty
# firmware may encounter data loss problems when running fstrim under high I/O
# load (e. g. https://launchpad.net/bugs/1259829). You can append the
# --no-model-check option here to disable the vendor check and run fstrim on
# all SSD drives.
exec fstrim-all
1https://en.wikipedia.org/wiki/Trim_%28computing%29
2トリムはどのように有効化されますか?
この行をfstabに追加しません。var/ tmpフォルダーは再起動後も存続するためのものであり、問題を引き起こす可能性があります。
tmpfs /var/tmp tmpfs defaults,noatime,mode=1777 0 0
新しいシステムを構成するとき、何かが起こった場合、すべてのtmpフォルダーをこの方法でコメント化したままにしておきます。ログなどを確認できます。次に、メインシステムのセットアップが完了したら、コメントを解除しますが、上記の行を追加することはありません。使用するものは次のとおりです。
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0
tmpfs /var/log/apt tmpfs defaults,noatime 0 0
また、システムに問題がある場合は、それらをコメントアウトして、再起動後またはロックアップ後の強制再起動後でもすべてをチェックできるようにします。
また、nodiratimeは必要ありません。noatimeオプションは両方を自動的に処理します。
TRIMに関しては、もしあなたのhw/swがそれをサポートしていれば、それは必須です、私はfstabでdiscardを使いません。私のPCは常にオンになっているので、次のようにして毎日cronを作成します。
gksu gedit /etc/cron.daily/trim
次に、これをファイルに追加して保存します(ssdに別の/ homeパーティションがない場合、またはssdに他のパーツがある場合は、これを変更する方法を理解する必要があります。
#!/bin/sh
LOG=/var/log/trim.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG
fstrim -v /home >> $LOG
次に、ファイルを実行可能にします:
Sudo chmod +x /etc/cron.daily/trim
Rc.localも次のように編集します。
gksu gedit /etc/rc.local
これを「出口0」の上と最後の#の下に追加します。
# Modification for SSD
# you may want to add more folders to be checked/created to this list
for dir in apparmor apt ConsoleKit cups dist-upgrade fsck gdm installer news ntpstats samba speech-dispatcher unattended-upgrades; do
if [ ! -e /var/log/$dir ] ; then
mkdir /var/log/$dir
fi
done
ここからコピーして貼り付けることができますので、エラーはありません。
また、ssdドライブの10%を未フォーマットのままにしておくと、寿命を延ばすのに役立つこともあります。私はこれをあまり読みませんでしたので、そうすることが理にかなっているなら保証できません。
これはすべての周りの最高のガイドです、彼は1日間Googleをざっと読んでからガイドを思いついたので、チェックアウトする必要があります HERE
Ubuntu、Linux MintのSSDを微調整して最適化する方法については、いくつかの良い情報があります http://namhuy.net/1563/how-to-Tweak-and-optimize-ssd-for-ubuntu-linux-mint .html 興味があるかもしれません
プリロードを使用
Ubuntu、Linux Mint、またはDebianベースのディストリビューションにプリロードをインストールするには
# apt-get update && apt-get install preload
スワップをオフにします
Swappiness設定を変更するには:
$ su -
# nano /etc/sysctl.conf
そして、この行をsysctl.confファイルに追加します。
vm.swappiness = 10
/var/tmp
がtmpfsに含まれてはならないことは明らかです。定義により、コンテンツは再起動後も保持する必要があるためです。
わかりました「短い話」:
インストール時にext4
としてフォーマットし、1 GBまでの小さなスワップを作成します。インストール後、Sudo gedit /etc/fstab
を使用してfstabを編集し、次の行を追加します
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
これにより、一時ファイル用のRAMドライブが作成され、エージングが低下します。また、デフォルトの後にnoatime,nodiratime,discard
をext4行に追加します。これにより摩耗も減少し、TRIM機能が有効になります。保存して再起動します。
UPSが必要です。/etc/sysctl.conf
ファイル内
vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10
通常は/etc/syslog.conf
или/etc/rsyslog.d/
の構成ファイルデーモンを見つけ、方法の前にマイナス記号( "-")を書くことで/var/log/
形式のすべてのパスを変更します。mail.errの前に
/var/log/mail.err
後mail.err -/var/log/mail.err
FS btrfs
を使用し、-o ssd
オプションを使用します
buntu、Linux Mint用にSSDを調整および最適化する方法
TRIMを有効にする
TRIM(Trimコマンドは、使用されていないSSDブロックをOSに通知し、クリアできます)
何か問題が発生した場合に備えて、まずfstabをバックアップします。
# cp /etc/fstab ~/fstab.bk
Fstabファイルを編集
# nano /etc/fstab
Ext4の後、ssdドライブまたはパーティションに廃棄を追加します
UUID=bef10b86-494d-41c6-aa46-af72cfba90fd / ext4 discard,errors=remount-ro 0 1
Adding noatime and nodiratime
noatimeとnodiratimeは、Linuxファイルシステム用のLinuxのマウントオプションです。 noatimeはファイルシステムのatime更新を無効にし、nodiratimeはディレクトリシステムのatime更新を無効にします。 noatimeとnodiratimeを追加すると、ssdの負荷が大幅に削減され、パフォーマンスが向上します。
Fstabファイルを編集
# nano /etc/fstab
Ext4の後に、sadドライブまたはパーティションにnoatime、nodiratimeを追加します
UUID=bef10b86-494d-41c6-aa46-af72cfba90fd / ext4 discard,noatime,nodiratime,errors=remount-ro 0 1
起動時に読み込まれるものだけをSSDに配置することをお勧めします。ロードに多くの時間を要するアプリケーションや、通常のHDDにあるデータやログなどの重要ではないもの。ブート時にSSDからの大きなinitramfsであり、ssdへの変更を書き戻しません。これには、このパーティションへの変更が永続的ではないという利点があります。これは、ブートシステムの保護のようなものです。したがって、RAMもちろん。
私は例えばsthのようにSSDにパーティション/、/ etc、/ usr、/ boot、/ lib 32/64を配置します
/ opt、/ bin、/ sbin、/ root、/ home、さらにHDDのスワップ(RAMを増やす!!!)
ウィキペディア 言う:
Linuxカーネルは、バージョン2.6.33以降のTRIM機能をサポートしています。 「discard」パラメーターを使用してマウントされた場合、ext4ファイルシステムがサポートされます。最新のディスクユーティリティ(およびそれらを使用するインストールソフトウェア)も適切なパーティションアライメントを適用します。
バックアップには多くの方法がありますが、最も簡単なのは(r)syncとcronジョブです。