0

YUI 圧縮プログラムに必要なメモリを減らす方法はありますか、または「低」メモリ環境でコマンド ラインから実行できる別の圧縮プログラムはありますか?

ホスティング プロバイダーでは、シェルから使用できるメモリと仮想メモリの量に制限があります。現在、次のようになっていますulimit -m 200000 -v 200000。-v 引数は、実際に効果があると思われる引数です。この環境で YUI Compressor を実行しようとすると、次の 2 つの結果のいずれかが得られます。

Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.

また

Exception java.lang.OutOfMemoryError: requested 32756 bytes for ChunkPool::allocate. Out of swap space?

違いは-Xms18m -Xmx18m、2 番目の引数に JVM 引数を使用しているためです。次のようにして、ローカルのLinuxボックスでこの効果を複製できます。

( ulimit -v 200000; java -Xmx18m -jar yui-compressor-2.4.2.jar -o foo-min.css foo.css )

ソースコードを更新してライブサイトにプッシュした直後に、ホスティングプロバイダーでjavascriptとcssの両方を構築しようとしています。

4

1 に答える 1

0

SunのSmallFootprintRuntime Environmentを使用することで、制限されたメモリスペースでYUICompressorを実行することができました。

$ java -version
java version "1.5.0_10-eval"
Java(TM) 2 Runtime Environment, Standard Edition for Embedded (build 1.5.0_10-eval-b02, headless)
Java HotSpot(TM) Client VM (build 1.5.0_10-eval-b02, mixed mode)
Evaluation version, 90 days remain in evaluation period

私が見る唯一の問題は、それが評価バージョンであるということですが、このバージョンでは、-Xmxまたは-XX:MaxPermPoolオプションをいじくり回す必要はありませんでした。

于 2009-12-18T15:36:11.727 に答える