スワップファイルを次のように設定します。
round(sqrt(RAM))
あなたがあれば使用していない休止状態をRAM+round(sqrt(RAM))
休止状態を使用する場合swappiness
デスクトップでは10に設定しますが、サーバーでは設定しません。
過去25年間使用されてきた経験則は、最小で1xRAM、最大で2xRAMであるため、常に引用されていることがわかります。
その最小値は、私が10代の頃、恐竜がまだ地球を歩き回っていた石器時代に設定されました。RAMが高すぎるため、何かを実行するにはスワップスペースが絶対に必要でした。
収穫逓減のため、その時点で最大値が設定されました。HDDアクセスはRAMよりも1000倍遅いため、多くのメモリを交換する必要があるのは遅すぎます。緊急時には適していますが、日常の使用にはあまり適していません。当時、スワップスペースが足りなくなったら、RAMを追加する時が来ました!(これは今日でも当てはまります)。
ハイバネーションを使用せず、メモリが1Gバイトを超える場合、新しい経験則round(sqrt(RAM))
でRAM
は、RAMサイズ(GB)とsqrt
平方根は明らかになります。:-)
休止状態を使用する場合は、RAMの全量とすでにスワップされているRAMをディスクにスワップできる必要があるため、式は次のようになります。 RAM+round(sqrt(RAM))
収穫逓減のルールは今日でも最大に当てはまりますが、実際の使用法をテストしない限り、2xRAMを使用することはディスク容量の浪費にすぎないため、他の方法を使用してスワップ領域が不足しない限り、最大値を使用しないでください。
これらすべてを合わせると、次の表が得られます。(最後の3列はスワップスペースを示します)
RAM No hibernation With Hibernation Maximum
1GB 1GB 2GB 2GB
2GB 1GB 3GB 4GB
3GB 2GB 5GB 6GB
4GB 2GB 6GB 8GB
5GB 2GB 7GB 10GB
6GB 2GB 8GB 12GB
8GB 3GB 11GB 16GB
12GB 3GB 15GB 24GB
16GB 4GB 20GB 32GB
24GB 5GB 29GB 48GB
32GB 6GB 38GB 64GB
64GB 8GB 72GB 128GB
128GB 11GB 139GB 256GB
256GB 16GB 272GB 512GB
512GB 23GB 535GB 1TB
1TB 32GB 1056GB 2TB
2TB 46GB 2094GB 4TB
4TB 64GB 4160GB 8TB
8TB 91GB 8283GB 16TB
上記は、ちょうど親指のルール。 それは重力の法則ではありません!特定のユースケースが異なる場合は、(重力の法則とは異なり)このルールを破る
ことができます。
上級者向けのヒント: ヘッドがディスクの内側で移動する必要が少ないため、HDDの開始時に常にSWAPを割り当てます。
はい: SSDでは、ヘッドを移動する代わりに量子トンネリングを使用し、最新のSSDはすべてのメモリセル(未割り当て領域も含む)を使用して量子劣化を防ぐため、スワップ領域をどこに配置するかは重要ではありません。
実行するだけです:
for szFile in /proc/*/status ; do
awk '/VmSwap|Name/{printf $2 "\t" $3}END{ print "" }' $szFile
done | sort --key 2 --numeric --reverse | more
これにより、スワップアウトされた実行中のすべてのプログラムのリストが表示されます(一番上に最も多くのスワップスペースを使用しているプログラムがあります)
数KB以上を使用している場合:最小サイズより大きくサイズ変更します。それ以外の場合は、気にしないでください...
デスクトップ/ラップトップクライアント(サーバーではない)を使用している場合は、GUIの応答性を可能な限り高くし、本当に必要な場合にのみスワップする必要があります。Ubuntuはサーバーで使用するために早期にスワップするように最適化されていますが、クライアントでその巨大な250メガピクセルのRAW画像をgimp
高速に編集する必要swappiness
があるため、10に設定すると、カーネルのスワップが早すぎないようにしながら、スワップが遅すぎる:
sysctl.conf
ファイルがある場合は、
sudo nano /etc/sysctl.conf
sysctl.d
ディレクトリはあるがsysctl.conf
ファイルがない場合は、新しいファイルを作成します。
sudo nano /etc/sysctl.d/35_swap.conf
どちらの場合も、次を追加します。
# change "swappiness" from default 60 to 10
# (theoretically only swap when RAM usage reaches around 80 or 90 percent)
vm.swappiness = 10
ファイルの最後まで、ファイルを保存し(Ctrl+ XY+ Enterin nano)、以下を実行します。
sysctl --system
パラメータをリロードするか、Window $アプローチを使用して再起動します... :-)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加