背景
Windows Server 2008 R2 を実行しているサーバーがあり、そのsplwow64.exe
プロセスでメモリ リークが発生しているようです。
このプロセスにより、32 ビット アプリケーションが 64 ビット システム上の 64 ビット プリンター ドライバーと通信できるようになり、アプリケーションがプリンターとの通信を終了すると、つまり印刷ジョブが完了すると、プロセスが終了することを理解しています。
この問題を調査した後、私はこのマイクロソフトの修正プログラム(2815716) 残念ながら役に立ちませんでした。
私の質問は次のとおりです:
すべての印刷ジョブが完了したと確信できる場合、一日の終わりにこのプロセスを自動的に終了するタスクをスケジュールすることは、安全で賢明な方法でしょうか?
脚注
この動作は、システムにインストールされている特定のプリンター ドライバーに根本的な問題があることを示していると認識していますが、サーバーではドライバーを更新できない古いプリンターのセットが実行されています。
あなたの時間とアドバイスにとても感謝しています。
答え1
毎晩/毎朝サービスを再起動するタスクをスケジュールする方がはるかに良いでしょう。
net stop spooler
net start spooler
そのプロセスはサービスの一部であり、強制する必要はありません。
答え2
この問題の解決策を見つけたようです:
RAM 使用量の急増のタイミングを、さまざまな印刷キューに送信されたジョブと比較し、ドライバーを使用するように構成された HP Laserjet プリンターのセットに問題を絞り込みましたPCL6
。
ドライバーを変更するとPCL5 HP Universal Printer Driver
問題は解決したようです。
プロセスsplwow64.exe
は、印刷ジョブが送信されるときに 250KB ~ 1MB の RAM を消費するようになりましたが、その後、この RAM はプロセスによって正常に解放されます (以前は、プロセスは印刷ジョブごとに 65MB ~ 500MB の RAM を消費していましたが、解放されていませんでした)。
私の質問を読んでこのスレッドに貢献してくれた皆さんに感謝します。