この質問が何度も議論されていることはわかっていますが、SSDに最適化があるかどうか(および使用するかどうか)についてインターネット上でさまざまな意見があります。また、技術が発展し、いくつかのアドバイスは時代遅れになる可能性があります。
FSの過剰プロビジョニングと空き容量
これはまだ関連性があるようですが、ユーザーcabirumによるとyコンバイナ議論する:
分割されていないスペースを過度にプロビジョニングし、分割されたスペースの20%を空きスペースとして残す必要はありません。どちらかです。重要なのは、適切な摩耗レベリングに十分なスペースを確保することです。
一方、言及はありません。建築ウィキペディアまたはこの記事でサウスヒューイ。また何ですか?イージーLinuxどちらもおすすめです!
Noatime、nodirtime、およびrelatimeマウントオプション
サウスヒューイどちらもおすすめし、建築ウィキペディアそしてイージーLinuxnoatime およびユーザー andmarios にのみ推奨されます。yコンバイナ説明する:
noatime:これは古いものです。 relatimeを使用してください。
これはLinux 2.6.30以降のマニュアルページによるデフォルトの動作です。
打つ
これはおそらく最大の混乱でしょう。
- イージーLinux実行からトリミング
/etc/rc.local
。discard
インストールオプションを使用しないでください。 - 建築ウィキペディア
fstrim.service
and.warningを使用してください。fstrim.timer
discard
- サウスヒューイシモンシオンyコンバイナオプションを使用してください
discard
。
書き込み操作の制限
建築ウィキペディア、サウスヒューイ、イージーLinuxブラウザキャッシュをRAMに移動することをお勧めします。通常、これに同意しません。yコンバイナ。
IOスケジューラ
誰もがデフォルトの代わりにDeadline
orを使用することに同意するようです。ただし、いつ使用するのか、いつ使用するのかは不明です(ファイルシステム/ SSDベンダーによって異なりますか?)。NOOP
CFQ
Deadline
NOOP
交換
しばらく前に、誰かがスワップを完全に無効にするように言いました(WOW:D)。 ~によると建築ウィキペディア、サウスヒューイそしてイージーLinux置くvm.swappiness=1
。
これらすべてのオプションは少し混乱しています。私は今までそのうちのいくつかを使用していました。私が重要なことを言及していませんか?一部のLinuxディストリビューションは、上記のタスクの一部を自動的に実行しますか?
引用:
- yコンバイナ:https://news.ycombinator.com/item?id=9633161
- 簡単なLinux:https://sites.google.com/site/easylinuxtipsproject/ssd#TOC - オプション: -reserve-some-space-for-overprovisioning
- 建築ウィキペディア:https://wiki.archlinux.org/index.php/Solid_State_Drives
- ナンシウ:https://www.namhuy.net/1563/how-to-tweak-and-optimize-ssd-for-ubuntu-linux-mint.html
答え1
再オーバープロビジョニング - SSD自体に使用されていないブロックが十分であることを確認する必要があります。 a) 分割されていないスペースにあるため使用されないため、OS で記録されないか、 b) 0 に記録され、SSD ファームウェアが色合いを実装するため、これを知っているかどうかは重要ではありません。未割り当てとして扱うか、c)DISCARD(「スナップ」)操作の対象でした。これらのうちの1つだけ(そして1つだけ)を強くお勧めします。
Re noatime: 私は個人的にファイルの最後のアクセス時間を気にしないし、私が使っているソフトウェアも気にしないようです。だから「noatime」を使ってすべてをインストールしました。 「noatime」を使用すると、競合が発生する名前のないプログラムへのあいまいな言及はインターネットにありますが、私は見たことがありません。
再カット/廃棄:fstrimを定期的に実行する必要があります。どのように呼ぶかは重要ではありませんが、どのくらいの頻度で呼ぶかは重要です。頻繁に再起動しない場合、ディスクスペースを非常に頻繁に使用して空にする、または両方を実行しない限り、起動するたびにそれを実行する(たとえば、rc.localを使用する)ことは過度になる可能性があります。 「廃棄」マウントを使用しないでください。これにより、ブロックが解放される時間の近くにカーネルがTRIM操作を実行できるようになり、遅延時間が長くなる可能性があります。たとえば、午前 3 時に実行されるクローン ジョブに気づいたり興味を持ったりする可能性はほとんどありません。平均的なデスクトップワークロードには1ヶ月に1回で十分で、書き込みが多いデスクトップワークロードには週に1回で十分です。ブロック割り当ての詳細はドライブファームウェアによって隠されることが多いため、fstrimが推奨されるタイミングを知るための完璧な方法はありません。ドライブのパフォーマンスが著しく低下する場合は、fstrimを使用することをお勧めします。速度の低下が感じられない場合は、何もする必要はありません。
Re I/O スケジューラ - 関心のあるワークロードをベンチマークします。経験的証拠に代わるものはありません。
再交換 - 最近のRAMの価格はかなり安いので、私と雇用主はRAMの多くを購入します。家庭用に作成するすべてのコンピュータには少なくとも16 GB、仕事用サーバーには少なくとも256 GBです。自宅や職場で出会ったすべてのコンピュータのすべてのワークロードについて、すべてがRAMに簡単に入り、キャッシュスペースも十分です。したがって、自宅や職場でスワップを無効にします。また、スワップを使用すると、ユーザーと許容できないパフォーマンスが低下するため、私と私の雇用主は緊急に多くのRAMを購入する必要があります。だから私はスワップを使用したくありません。スワップは、私が解決したいメモリ不足の問題を隠そうとすることです。私はあなたの立場についてコメントすることはできません。似てないかと思います。
最後に、広く使用されているLinuxディストリビューションにデフォルトでインストールおよび有効になっている多くのサービスを無効または削除しました。これにより仮想メモリが節約されますが、より重要なのは攻撃からシステムを「強化」することです。これにより、パフォーマンスを低下させることなくディスクに交換できる無駄なRAMがほとんどないはずです。