回答:
ソリッドステートであろうと従来のドライブであろうと、Ubuntuがストレージデバイスを使用する方法を改善するために、いくつかの異なる技術をうまく使用しました。
SSDの場合は、読み取りによってドライブが摩耗することはないため、ドライブへの書き込み回数も最小限に抑えたいと考えています。
1)スワップファイルを管理する
コンピュータを休止状態にせず、すべてのアプリケーションを実行するのに十分なRAMメモリがある場合、理論上はスワップパーティションは必要ありません。
SSDとハードドライブが混在している場合は、スワップパーティションをハードドライブのみに配置してください。
2)読み取りタイムスタンプの書き込みなし(SSDおよびハードドライブに適しています)
オプションnoatimeおよびnodiratimeを使用してパーティションをマウントすると、ファイルおよびフォルダーを読み取るときにタイムスタンプの書き込みが停止します。muttなどのローカルメールサーバークライアントを使用しない限り、これらのタイムスタンプの書き込みは通常必要ありません。これが一般に悪い考えである理由は、タイムスタンプを更新するときにすべての読み取りが書き込みを生成するためです。これにより、SSDの寿命が短くなります。
/ etc / fstab構成ファイルを編集します(慎重に-fstab構成を壊すとシステムが動作しなくなる可能性があるため、バックアップをとってください)
cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
あなたがそれら(の/ home)を持っている場合は、あなたのルート(/)と他のパーティションを定義する行にテキストnoatimeオプションとnodiratimeを追加して、パーティション用のマウントオプションを編集- メモ:/ 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にディレクトリが見つからないという問題が発生する可能性があります
このアプローチの背景については、ubuntu-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を自分で有効にします。(基本的に、discard
ext4を使用している場合は、マウントオプションにオプションを追加します。)ファイルを削除するときに、廃棄オプションがシステムの速度を低下させるというブログ記事を見つけました。
fstrimを使用して、手動で(またはcronジョブで)実行することができます。パーティションが1つだけの場合、必要なことは次のとおりです。
sudo fstrim /
fstrimは11.10以降でのみ利用可能です。古いシステムの場合、wiper.sh
スクリプトが必要になります。/usr/share/doc/hdparm/contrib/wiper.sh.gz
私のシステムでスクリプトを見つけました。
疑問に思っている場合、Wikipediaで説明されているように、TRIMが解決する問題は次のとおりです。
SSDはデータをページにグループ化されたフラッシュメモリセルに保存し、ページ(通常は各4 kB)がブロック(通常はブロックあたり128ページ、合計512 kB)にグループ化されます。NANDフラッシュメモリセルは、空の場合にのみ直接書き込むことができます。データが含まれていると見なされる場合、書き込み操作を確実に実行する前に、コンテンツを最初に消去する必要があります。SSDでは、書き込み操作はページレベルで実行できますが、ハードウェアの制限により、消去コマンドは常にブロック全体に影響します。結果として、SSDメディアへのデータの書き込みは空のページを使用できる限り非常に高速ですが、以前に書き込まれたページを上書きする必要がある場合は大幅に遅くなります。再度書き込む前にページ内のセルを消去する必要がありますが、ブロック全体のみを消去できるため、上書きによって読み取り-消去-変更-書き込みサイクルが開始されます。ブロック全体の内容を保存する必要がありますフラッシュメディア上で効果的に消去される前にキャッシュに保存されると、キャッシュ内の上書きされたページが変更され、キャッシュされたブロックが最新の状態になります。この現象は書き込み増幅として知られています。
いくつかのポイントがあります:
アライメント:
しばしば指摘されるのは、パーティションの正しい配置です。これはSSDのブロックサイズと等しくなければなりません。安全にプレイし、パーティションをMiBの境界に揃えてください。Ubuntuインストーラーのパーティションツール(MiBではなくMBを使用)でこれを行うことはできませんが、ライブCDを起動し、Gparted(MiBを使用)を使用し、[インストール]をクリックして設定したパーティションを使用できます。
適切なスケジューラー:
重要なポイントはあるべきスケジューラnoop
です。このスケジューラーは、カーネルパラメーターelevator=noop
またはecho noop > /sys/block/sda/queue/scheduler
rc.localのエントリを介して設定できます。
マウントフラグ:
お勧めnoatime
しますdiscard
Tmpfs
tmpをramdiskに置くと、ssdの寿命を延ばすことができます。これを使用するには、fstabに次の行を追加します。none /tmp tmpfs defaults 0 0
UbuntuでのSSDの高速チューニングコース:
ファイルシステム
Arch wiki では、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
情報
/tmp
RAMで、それが取得するのは非常に簡単ですメモリのうち多くのプログラムが使用して、状況/tmp
(例えば収納スペースとしてBraseroの DVDイメージを保存するため)。
tmpfs
デフォルトでは、RAMの10%です。size
ただし、オプションを使用してサイズを調整できます。
この行を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をざっと読んでガイドを思いついたわけではありません。こちらをご覧ください。
TRIMを使用すると、オペレーティングシステムはSSDに、使用中と見なされなくなったデータブロックや内部で消去できるデータブロックを通知できます。トリミングにより、SSDはガベージコレクションのオーバーヘッドを処理できます。そうしないと、関連するブロックへの将来の書き込み操作が大幅に遅くなります。1
Ubuntu 14.04では、SSDを定期的に自動トリミングする新しい機能がutil-linuxパッケージに追加されましたが、一部の安価なSSDはTRIMの実行時にブロックすることもあるため、デフォルトでTRIMが有効になっているのはIntelおよびSamsung SSDのみです。2/etc/cron.weekly/fstrim
Ubuntu 14.04 の内容:
#!/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
1 https://en.wikipedia.org/wiki/Trim_%28computing%29
2 トリムはどのように有効になりますか?
/var/tmp
定義上、コンテンツは再起動後も保持する必要があるため、tmpfsに含めるべきではないことは明らかです。
わかりました「短い話」:
ext4
インストール中にフォーマットし、1 GBまでの小さなスワップを作成します。インストール後、fstabを編集しsudo gedit /etc/fstab
て次の行を追加します
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
これにより、一時ファイル用のRAMドライブが作成され、エージングが低下します。またnoatime,nodiratime,discard
、デフォルトの後にext4行に追加します。これにより摩耗も減少し、TRIM機能が有効になります。保存して再起動します。
いくつかの良い情報を微調整してからのUbuntu、Linuxのミントのために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
UPSが必要です。/etc/sysctl.conf
ファイル内
vm.dirty_writeback_centisecs = 15000
vm.swappiness = 10
構成ファイルデーモンを見つけます。通常は/etc/syslog.conf
или /etc/rsyslog.d/
で、フォームのすべてのパスは、/var/log/
way..before mail.errの前にマイナス記号( "-")を書き込むことで変更します。
/var/log/mail.err
後
mail.err -/var/log/mail.err
FS btrfs
を使用し、-o ssd
オプションを使用します
Ubuntu、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への変更を書き戻しません。これには、このパーティションへの変更が永続的ではないという利点があります。これは、ブートシステムの保護のようなものです。
たとえば、SSDにパーティション/、/ etc、/ usr、/ boot、/ lib 32/64を配置します。
/ opt、/ bin、/ sbin、/ root、/ home、さらにHDDのスワップ(RAMを増やす!!!)
ウィキペディアによると:
Linuxカーネルは、バージョン2.6.33以降のTRIM機能をサポートしています。「discard」パラメーターを使用してマウントされた場合、ext4ファイルシステムがサポートされます。最新のディスクユーティリティ(およびそれらを使用するインストールソフトウェア)も適切なパーティションアライメントを適用します。
バックアップには多くの方法がありますが、最も簡単なのは(r)syncとcronジョブです。
/root
、/home
を除くすべての言及された場所、およびスワップは速度のためにSSDに置かれるべきです。速度を上げるため/var
に、SSDも装着してください。
/
Kubuntu Oneiric のパーティションはSSDで4.5GBを使用します。/
マイナスには20GBで十分です/home
。ファイルシステムのレイアウトを微調整し、複数のパーティションに広げる努力は価値がありません。
tmpfs
行にコメントが付けられていますが、なぜそれらの行を追加すると違いが出るのでしょうか?コメントなしで追加する必要がありますか?