長年にわたって私は必要なタスクを実行するのに十分なメモリを持っていたので、スワップなしでLinuxシステムをセットアップしてきました。
しかし、ラップトップで休止状態を使用するにはスワップが必要であることを知ってスワップパーティションを作成し、休止状態が正常に機能しています。
最近、コンピュータが休止状態ではなくスタンバイ状態になったことを確認し、調査の結果、スワップパーティションに休止状態に十分なスペースがないことがわかりました。これは、休止状態のために予約されたスワップパーティションが実際には通常のスワップスペースとして使用されていると考えたためです。
休止状態に指定されたスワップパーティションのみを使用し、通常の作業中にスワップ用に使用しないようにLinuxに指示する方法はありますか?
編集:以下の質問によると、マシンには8 GBのRAMがあり、スワップパーティションも8 GBです。実際のスワップ使用ではなく、休止状態にのみ使用したいので、マシンのRAMサイズより大きいものは無駄になります。基本的な問題は、8 GBのスワップパーティションが追加のメモリとして使用されるため、システムが最大16 GBのメモリ(8 GBの物理+ 8 GBのスワップ)を割り当てることができることです。最近は10GBを使用しており、8GBスワップパーティションは10GBを保持できないため、休止状態に入ることはできません。
答え1
休止状態に指定されたスワップパーティションのみを使用し、通常の作業中にスワップ用に使用しないようにLinuxに指示する方法はありますか?
その行を削除するかコメントアウトします/etc/fstab
。私のシステムの例
$ grep swap /etc/fstab
/dev/mapper/NEO--L196--vg-swap_1 none swap sw 0 0
pm-hibernate
機能するには、スワップパーティションを「アクティブ化」する必要があるため、削除されました。
スワップをアクティブに保ちます(したがってそのままにしてください/etc/fstab
)、カーネルにそれを無視するように明示的に要求してください。
これは0のsysctlパラメータを使用して行われますvm.swappiness
(有効な値は0〜100です。値が高いほど、カーネルスワップは積極的に行われ、デフォルトは60です)。
再起動後もこの設定を維持するには、行を/etc/sysctl.conf
編集して追加しますvm.swappiness=0
。