これに似ています:Linux / Windowsで「プロセスを休止状態にする」方法は?
メモリに留まらないようにプロセスを休止状態にする方法はありますか?例:Firefoxを使用したくない、そのプロセスを閉じたくない、そして空きメモリが必要な場合、Firefoxによって予約されたメモリが解放されるようにプロセスを本当に休止状態にするにはどうすればよいですか?
WindowsとLinuxの両方のソリューションが必要です。
これに似ています:Linux / Windowsで「プロセスを休止状態にする」方法は?
メモリに留まらないようにプロセスを休止状態にする方法はありますか?例:Firefoxを使用したくない、そのプロセスを閉じたくない、そして空きメモリが必要な場合、Firefoxによって予約されたメモリが解放されるようにプロセスを本当に休止状態にするにはどうすればよいですか?
WindowsとLinuxの両方のソリューションが必要です。
回答:
Firefoxを使用したくない、そのプロセスを閉じたくない、そして空きメモリが必要な場合、Firefoxによって予約されたメモリが解放されるようにプロセスを本当に休止状態にするにはどうすればよいですか?
Windowsの場合、Free Process Freezerがあります。
LinuxおよびMac OS Xの場合は、そこにあるCrypoPIDはで述べたように、yeedlの答え。
カスタムソリューションを作成する場合:
見てprocess dumping
、Windows上で、例えば。ProcDumpは、CLIからのデバッガでそれを再開WinDBGを。
core dumping
Linuxを調べてください。コア、GNU GDBのようなCLIデバッガーで再開します。
デバッガーを必要としないソフトウェアベースのソリューションは可能だと思いますが、それはStack Overflow用です。
あなたは非常に具体的なユースケースを探しています、なぜ一時停止してそれをスワップアウトさせないのですか?
プロセスの実行と一時停止にもっと時間を費やすことになります...
よりシームレスになる別の方法でワークフローを最適化できると思います。
WindowsとLinux / Unixはどちらも、実行可能なプロセスのリストからプロセスを削除することにより、プロセスの実行を一時停止または停止する方法を提供します。
これはプロセスが所有するメモリページには直接影響しませんが、システムがメモリを圧迫するにつれて、これらのページはディスクにスワップアウトするのに適した候補になります。
後で再開するためにプロセスをディスクに書き出そうとしても、簡単なことではうまくいきません。プロセスが再開するとすぐに、ネットワークとウィンドウシステムへのオープンハンドルが失敗します。
Windowsの場合:
プロセスを強制終了せずにメモリから完全に削除する方法はわかりませんが、メインウィンドウを最小化することで、ワーキングセットをトリミングできます。Microsoftにはこれを説明する記事があります。アプリケーションのワーキングセットは、そのトップレベルウィンドウが最小化されるとトリミングされます。
したがって、最初にメインウィンドウを最小化してから、リンクした質問で提案されているようにプロセスを一時停止します。
どちらも、便利なProcess Explorerを使用して実行できます。
Windowsでは、一部のプログラムが「未使用」のプログラムメモリをスワップアウトできます。
それを行うことができる製品の例は、商用のProcess Lassoです。
しかし、Process Lassoでさえ、その慣習に反対しています。
仮想メモリの管理はWindowsに任せ、自分の手には渡さないことをお勧めします。これらのプログラムからの利益は、幻想で一時的なものです。クリーンアップ後に実行するプログラムの読み込みが速くなったように見えても、遅かれ早かれページングメモリのペナルティが発生します。
Firefoxに関しては、mozillaZineのメモリ使用量の削減 -Firefoxを参照してください。これには、メモリリークを検出する拡張機能を見つける方法に関する多くのアドバイスが含まれています。
Firefoxの拡張機能であるメモリフォックスもあります。
他のアプリケーションプロセスのRAMメモリ要件に使用可能なRAMメモリの増加を促進する、ブラウザのRAMメモリ使用量を削減しようとしています。うまくいけば、メモリの回復と保持の試みを促進します。
私の経験では、この拡張機能はFirefoxの必然的なメモリ膨張を延期するだけです。唯一の現実的な解決策は、Firefoxを時々閉じてメモリを解放することです。