スワップスペースとは何ですか?
おすすめサイズスワップスペースのために?
どこ利点ディスクパーティションの代わりにファイルをスワップスペースとして使用しますか?
どうやって入手できますか?情報私のコンピュータのメモリ使用量はどうですか?
どのツールこの目的のためにファイルを作成する必要がありますか?
私がどうする作るファイルを交換しますか?
私がどうする削除ファイルを交換しますか?
どのように設定する優先順位スワップスペースが複数あるとどうなりますか?
システムがスワップスペースをより多くまたは少なく使用できるようにする方法(交換性)、メインメモリ(RAM)と比較すると?
答え1
1.スワップスペースとは何ですか?
交換とは、変化、出退勤、交換、移転、代替、変形、取引を意味します。 (出典:マリアム - ウェブスター辞書)
スワップ領域(ファイルまたはパーティション)は、物理メモリ(RAM)の拡張である仮想メモリの種類です。これはコンピュータのストレージデバイス(HDまたはSSD)にあります。 HDとSSDのデータ転送速度はRAMより遅いため、オペレーティングシステム(OS)はRAMが不足している場合にのみ使用します。メモリが不足すると、コンピュータがフリーズまたはクラッシュする可能性があります。
2. 交換規模
スワップ領域として割り当て(予約)されるサイズは、基本的に4つの側面によって異なります。
- コンピュータにどのくらいのメモリがありますか?
- オペレーティングシステムと実行中のアプリケーションに必要なRAMの量。
- コンピュータのHDまたはSSDにどれくらいの空き容量がありますか?
- コンピュータを休止状態にする場合。
通常、RAM サイズを 2 倍に設定することをお勧めします。
3. パーティションと比較したファイルの利点
ファイルはメンテナンス目的に適しています。簡単にサイズ変更して再割り当てできます。一方、パーティショニングは困難でも不可能でもよい。
4.情報検索
人間が読める形式(-h)の合計メモリ情報を表示します。
free -h
スワップファイル/パーティション情報の表示:
sudo swapon
スワップパーティションは一般的です/dev/sda3
。そして、スワップファイルは通常ルートディレクトリ(/)にあり、名前は "swapfile"(/swapfile
)です。
5. ファイル生成ツール
DD:ファイルをコピーして変換するユーティリティです。割り当てられたスペースを空のブロックで埋めます。連続したファイルを作成します。
エラー位置:「運用ファイルに割り当てられたディスク容量」(マンページ)。ファイルにスペースを割り当てますが、そのスペースをブロックで埋めません。不連続(希少)ファイルを作成します。
カーネルのスワップファイル実装は、ファイルシステムの助けを借りずにファイルに直接書き込むことができると予想します。これは、Btrfsなどのファイルシステムの脆弱なファイルまたは書き込み中にコピーファイルに発生する問題です。 cp(1) や truncate(1) などのコマンドは脆弱なファイルを生成します。これらのファイルはswaponによって拒否されます。 fallocate で生成された事前に割り当てられたファイルは、ファイルシステムに応じて脆弱なファイルとして解釈されることもあります。 Linux 4.18以降、XFSは事前に割り当てられたスワップファイルをサポートしています。スワップファイルを生成する最も移植可能なソリューションは、ddと/dev/zeroを使用することです。
(出典:swaponマンページ)
DDこの特定の種類のファイルは脆弱性を含めることができないため、スワップファイルを生成する最も推奨される方法です。
引用:
- Fallocateとddでファイルを交換する
- fallocateを使用して生成されたファイルにどのような脆弱性が存在しますか?
- 希少ファイルとは何ですか?なぜ必要ですか?
- Debian Wiki: 交換
- アーチウィキ:交換
6. スワップファイルの作成プロセス
a) ファイル(8GB)を生成します。
sudo dd if=/dev/zero of=/swapfile bs=1MiB count=$((8*1024))
パラメータ:
- if =入力ファイル(標準入力)
- of=出力ファイル
- bs = ブロックサイズ
- カウント = ブロック数
b) アクセス権を制限する。
rootユーザー(ファイル所有者)にのみ読み取りおよび書き込み権限を付与してください。
sudo chmod 600 /swapfile
c) ファイルを交換可能にする
sudo mkswap /swapfile
d)システムのスワップファイルを開きます。
sudo swapon /swapfile
e) 変更を永久に適用する
ファイルシステムテーブルの末尾に次の行を追加します(システムテーブル):
/swapfile none swap sw 0 0
sudo nano /etc/fstab
パラメータ:
- filesystem = スワップファイルのパスと名前(
/swapfile
) - マウントポイント=ファイルシステム内にマウントされています(
none
) - タイプ=スワップファイルであることを示します(
swap
)。 - オプション = スワップファイルオプション(
sw
) - ダンプ = この例とは無関係(
0
) - 合格=この場合は無関係(
0
)
7. スワップファイルの削除
a) スワップファイルを閉じます。
sudo swapoff /swapfile
b) スワップファイルの削除
sudo rm /swapfile
c) 変更を永久に適用する
ファイル内の対応するエントリをコメントアウトまたは削除しますfstab
。
sudo nano /etc/fstab
欲しいならスワップパーティションの削除、fdisk、parted、gparted、gnomeディスクなどのツールを使用する必要があるアンインストール手順を除いて、スワップファイルの削除手順に従ってください。
欲しいならスワップファイルサイズの変更、閉じて(
swapoff
)、同じ名前と新しいサイズで新しいファイルを作成して上書きし、スワップ可能にして(mkswap
)、開きます(swapon
)。同じ名前を使用している場合は、fstab
更新は不要です。
8. スワップ空間の優先順位
(スワップスペースが1つしかない場合は、このセクションを無視してください。)
複数のスワップ領域(パーティションまたはファイル)がある場合は、どのスワップ領域がより高い優先順位を持っているため、事前に使用する必要があるかをカーネルに表示する必要があります。
優先順位の範囲は0から32767です。数値が高いほど優先順位が高くなります。
デフォルトの優先順位は-2です。指定しない場合は自動的に設定されます。
複数のスワップスペースの優先順位が同じ場合は、それらを置き換えて使用します。
fstab
優先順位はファイルの対応する行に設定する必要があります。
/swapfile none swap sw,pri=5 0 0
ここで、「pri」は「優先順位」を表し、「5」はこの例で使用されるレベルを表します。
9.交換性
swappinessパラメータは、コンテンツを物理メモリからスワップディスクに移動するカーネルの傾向を制御します。(Ubuntu Community Help Wiki:Exchange FAQ)。より具体的には、ランタイムメモリの交換とシステムページキャッシュからページを削除する間のバランスを変更することは、Linuxカーネルの属性です。 Swappinessは0から100(含む)の値に設定できます。値が低いほど、カーネルは可能な限りスワップを回避し、値が高いほどカーネルはスワップ空間を積極的に使用しようとします。(Red Hat Customer Portal - Knowledge Base)。
デフォルトのスワップ値は60です。これはほとんどのデスクトップに適しています。ただし、サーバーは目的に応じて10または1などのより低い値を使用することもできます。
値 0 は、「最後の手段としてのスワップ空間の使用」を意味します。
値が 100 の場合、スワップ領域が RAM として使用されます。
交換価値の確認
cat /proc/sys/vm/swappiness
簡単に変更する
一時的に値を10に変更します。セッションが再開するとリセットされます。
sudo sysctl vm.swappiness=10
継続的な変化をもたらす
継続的に変更するには、「vm.swappiness = 10」行を使用して以下のファイルを編集してください。
sudo nano /etc/sysctl.conf