私のラップトップとデスクトップにArchlinux x86_64がインストールされています。インストール時にfdiskを使用してスワップパーティションを作成しますsudo swapon /dev/sda3
。
sysctl vm.swappiness
ただし、に設定しても0
システムメモリが半分しか使用されていない場合、システムはまだスワップパーティションに書き込んでいるため、大きなファイルをどこかにコピー/移動してシステムの速度を非常に遅くします。この場合はoff swapを使用しましたsudo swapoff /dev/sda3
。
最近は通常、起動後にスワップをオフにし、スワップが本当に必要なときにアクティブにします(そしてRAMの使用量を監視し、必要に応じてスワップをオンにするRubyスクリプトがあります)。次回の起動時にスワップが再び有効になります。問題の交換アイテムはありません/etc/fstab
。
デバイスを削除せずにスワップデバイスを永久に無効にする方法はありますか?
ベストアンサー1
これ建築ウィキペディアArchlinuxでのスワッピングはsystemdによって管理されることに言及し、スワッピングを担当するsystemdデバイスをブロックして自動アクティベーションを無効にする方法について説明しました。したがって、Archlinuxでは、次のことを達成する必要があります。
- 特定のスワップを使用して
#swapoff -a
スワップを無効にするか、特定のデバイス/ファイル名を渡します。現在、スワップは無効になっていますが、次回の起動時に自動的に再度有効になり、有効になります。 - 自動スワップを有効にしないようにするには、systemdデバイスを使用してswapを見つけます
#systemctl --type swap
。見つかった各*.swap
ユニットに対してを使用してマスクされます#systemctl mask <unit_name>
。
systemctl unmask <unit_name>
以前に保護されたデバイスを実行し、Open Swapを使用してプロセスをキャンセルするだけですswapon
。
これは、次の2つのArchwiki記事から抜粋されました。
- ArchWiki:スワップ:スワップを無効にする
- ArchWiki: Systemd: ユニットの使用(ブロックとブロック解除のセクションを参照)