プロセスを「完全に休止状態」にするメモリを解放する方法は?


10

これに似ています:Linux / Windowsで「プロセスを休止状態にする」方法は?

メモリに留まらないようにプロセスを休止状態にする方法はありますか?例:Firefoxを使用したくない、そのプロセスを閉じたくない、そして空きメモリが必要な場合、Firefoxによって予約されたメモリが解放されるようにプロセスを本当に休止状態にするにはどうすればよいですか?

WindowsとLinuxの両方のソリューションが必要です。

回答:


4

Firefoxを使用したくない、そのプロセスを閉じたくない、そして空きメモリが必要な場合、Firefoxによって予約されたメモリが解放されるようにプロセスを本当に休止状態にするにはどうすればよいですか?

Windowsの場合、Free Process Freezerがあります。

LinuxおよびMac OS Xの場合は、そこにあるCrypoPIDはで述べたように、yeedlの答え


カスタムソリューションを作成する場合:

見てprocess dumping、Windows上で、例えば。ProcDumpは、CLIからのデバッガでそれを再開WinDBGを

core dumpingLinuxを調べてください。コアGNU GDBのようなCLIデバッガーで再開します。

デバッガーを必要としないソフトウェアベースのソリューションは可能だと思いますが、それはStack Overflow用です。


あなたは非常に具体的なユースケースを探しています、なぜ一時停止してそれをスワップアウトさせないのですか?

プロセスの実行と一時停止にもっと時間を費やすことになります...

よりシームレスになる別の方法でワークフローを最適化できると思います。


5

WindowsとLinux / Unixはどちらも、実行可能なプロセスのリストからプロセスを削除することにより、プロセスの実行を一時停止または停止する方法を提供します。

これはプロセスが所有するメモリページには直接影響しませんが、システムがメモリを圧迫するにつれて、これらのページはディスクにスワップアウトするのに適した候補になります。

後で再開するためにプロセスをディスクに書き出そうとしても、簡単なことではうまくいきません。プロセスが再開するとすぐに、ネットワークとウィンドウシステムへのオープンハンドルが失敗します。


些細なことでもうまくいきません。:) +1
user541686

1
それらの開いたハンドルは、再び開かれるか、一緒に保存されるので、それは本当に問題ではありません...
Tamara Wijsman

2

私はFirefoxでセッションを保存できることを知っています。

Linuxでは、これはCrypoPIDで実行できます。

この質問とこれはWindowsで答えようとしていますが、Linuxで行ったように、アプリケーションの状態をファイルに保存する優れたソリューションを見つけることができませんでした。


1

Windowsの場合:

プロセスを強制終了せずにメモリから完全に削除する方法はわかりませんが、メインウィンドウを最小化することで、ワーキングセットをトリミングできます。Microsoftにはこれを説明する記事があります。アプリケーションのワーキングセットは、そのトップレベルウィンドウが最小化されるとトリミングされます

したがって、最初にメインウィンドウを最小化してから、リンクした質問で提案されているようにプロセスを一時停止します。

どちらも、便利なProcess Explorerを使用して実行できます。

  • 右クリックプロセス、ウィンドウ->最小化
  • もう一度右クリック、サスペンド。

1

Windowsでは、一部のプログラムが「未使用」のプログラムメモリをスワップアウトできます。
それを行うことができる製品の例は、商用のProcess Lassoです。
しかし、Process Lassoでさえ、その慣習に反対しています。

Windowsメモリオプティマイザについての真実

仮想メモリの管理はWindowsに任せ、自分の手には渡さないことをお勧めします。これらのプログラムからの利益は、幻想で一時的なものです。クリーンアップ後に実行するプログラムの読み込みが速くなったように見えても、遅かれ早かれページングメモリのペナルティが発生します。

Firefoxに関しては、mozillaZineのメモリ使用量削減 -Firefoxを参照してください。これには、メモリリークを検出する拡張機能を見つける方法に関する多くのアドバイスが含まれています。

Firefoxの拡張機能であるメモリフォックスもあります。

他のアプリケーションプロセスのRAMメモリ要件に使用可能なRAMメモリの増加を促進する、ブラウザのRAMメモリ使用量を削減しようとしています。うまくいけば、メモリの回復と保持の試みを促進します。

私の経験では、この拡張機能はFirefoxの必然的なメモリ膨張を延期するだけです。唯一の現実的な解決策は、Firefoxを時々閉じてメモリを解放することです。


1

LinuxのプロセスにSTOPシグナルを送信できます。停止したプロセスは、一時停止のようなものです。再開するには、プロセスのCONTシグナルを送信します。シグナルを送信するには、次のようにします。

kill -STOP process_id

kill -CONT process_id

システムがより多くのメモリを必要とする場合、停止したプロセスはスワップアウトされます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.