1

夜間は、従業員のデスクトップを CPU 集中型のシミュレーションに使用します。デスクトップは Windows (通常は Windows XP) を実行します。従業員はログオフせず、デスクトップをロックし、モニターのスイッチをオフにして出勤します。

すべての従業員は、構成ファイルを編集して、不在の可能性が最も高い時間を指定できます。その時が来ると、バックグラウンド プログラムがサーバーからシミュレーション用のデータを取得し、ワーカー プロセスを生成して監視し、結果を取得してサーバーに送信します。従業員が指定した時間が経過するとシミュレーションが停止するため、通常のデスクトップの使用が妨げられません。

問題は、シミュレーションが大量のメモリを消費することです。そのため、ワーカー プロセスが実行されると、他のプログラムが強制的にスワップ ファイルに書き込まれます。そのため、従業員が戻ってきたとき、彼が残したすべてのプログラムは、スワップが解除されるように 1 つずつ開くまで、動作が遅く遅くなります。

プログラムがシミュレーションを停止したときに他のプログラムを強制的にスワップ ファイルから外して、再びスムーズに実行できるようにする方法はありますか?

4

1 に答える 1

2

システム プロセスとユーザー プロセスをループし、(バックグラウンド アプリケーションを除いて) 最も多くのメモリを使用するプロセス、または従業員が最も使用するプロセスから始めて、プロセスにWM_ACTIVATEAPPメッセージを送信します。これは、タスクバーでそのプロセスのアプリケーション ウィンドウ アイコンを「クリック」するのと同じ効果があります。

于 2010-03-23T08:56:46.553 に答える