私はUPXコンプレッサを使ってDelphi XEで書かれたアプリケーションを圧縮しています。ファイルサイズは約32Mbから8Mbになります。UPXでアプリケーションを圧縮した後にアプリケーションがメモリを使用するのはなぜですか?何ができるのですか?
私が気づいたのは、圧縮ファイルを実行するとRAMの占有量が大幅に増えていることです。 25/30 Mbから約80 Mbになります。これは正常なのですか、それともあなたが保つべき問題ですか?私の場合、アプリケーションは複数のユーザーがいるWindows Server 2008のリモートデスクトップモードで動作するため、システムの負荷が不均衡になります。
どうしてですか?どうすればこの問題を解決できますか?
一度に何人のユーザーがアプリを実行しますか?コンプレッサーを使用する場合、プロセスの各インスタンスは個別の物理メモリーを消費します。ページは共有できません。 UPXを使用する動機は何ですか? –
私は特にUPXについては知らないけど、少なくともいくつかのPEコンプレッサーは起動時に画像全体をメモリに展開します。これは、個々のセクションが必要に応じてページングされる通常のPEとは異なります。 –
デバッグ情報が実行ファイルにリンクされていませんか?これは通常、圧縮するよりもファイルサイズに大きな差をもたらします。私のアプリケーションの1つは、デバッグ情報を持つ17MBで、それがないと3つ未満です。 –