web-dev-qa-db-ja.com

RAMアクティブなもののみを保持しながら、バックグラウンドで実行中のアイドルソフトウェアのメモリデータをスワップするために転送しますか?

5〜6個のプログラム(ブラウザー、仮想マシン、ターミナル、テキストエディター、ファイルエクスプローラー)を同時に実行している間、それらの一部は時々(15分ごとに)非アクティブ/アイドル状態です(ユーザーとやり取りしていません。計算などを行わない)。次のことが可能ですか?

  • 非アクティブなプログラムのメモリデータをRAMからSwapに自動的に転送します。
  • ユーザーがソフトウェアとの対話を開始したとき(またはアクティブになった/フォアグラウンドになったとき)の「アクティブ化」(スワップからRAMへのメモリデータ).

スワップメモリ​​はRAMよりも遅いが、UIをフリーズしないほど十分に速いため、多くのコンピューター、異なるプログラム、または単一のプログラム(Ram-consuming-browserのバックグラウンドで開かれたタブのメモリデータをスワップして、アクティブなタブのみをRamに保持することを想像してください)。

これは、今日何らかの手段で実行できるものですか、それとも部分的にすでにこのようなものですか?

2
Coding_is_Art

自動的に:

  • はい、そしてそれがあなたが持っているものです:Linuxメモリマネージャーは未使用のプログラムをディスクにスワップアウトし、使用中のプログラムをスワップインします。
  • ただし、カーネルはデスクトップではなくserverに最適化されているため、そのため、カーネルをより早く/後でスワップさせたい場合は、 swap and swappiness をユースケースに適合させる必要があります。

手動で:

  • これはcgroupsを使用することで可能です。どのプログラムがRAMを取得しているか、取得していないか、どのプログラムが他よりも優先されるかを決定できます。
  • 簡単な方法は次のとおりです。
    • 現在使用していない/必要のないプログラムをすべて閉じます。
    • カーネルはフォアグラウンドまたはバックグラウンドのアプリケーションを気にせず、バックグラウンドで大規模なFTP転送が実行されている場合はLibreOfficeを喜んで交換するため、すべてを実行する必要がある場合は、さらに購入RAM.

¯\ _(ツ)_ /¯

3
Fabby