私たちは、グラスフィッシュを使用する Java 上のシステムを持っています。一部の小さな PC ではシステムが遅くなるため、Netbeans プロファイラーを使用することにしました。次の情報が表示されました。
Threads: 91
Loaded Classes: 14.186 (max)
Total Memory: 282 MB
Used Memory: 194 MB
Time Spent in GC: 0%
Surviving Generations: 79%
Detail:
Total bytes: 109.430.481
Total classes: 14.603
Total instances: 1.655.029
Classloaders: 433
GC roots: 3.757
Number of objects pending for finalization: 0
Environment:
OS: Windows Vista (6.0) Service Pack 2
Architecture: x86 32bit
Java Home: C:\Program Files\Java\jdk1.7.0_03\jre
Java Version: 1.7.0_03
JVM: Java HotSpot(TM) Client VM (22.1-b02, mixed mode)
Java Vendor: Oracle Corporation
Head Walker: (High Value)
Class: String
Instances: 237.083
Instance size: 24
Total size: 5.689.992
Retained size: 22.755.966
私たちのシステムを使用するライブラリは次のとおりです。
Struts 2.3.1
Spring 3.0.6
AspectJ 1.7.3
Jasper Report 5.1
Cors Filter
Poi 3.7
Itext 2.1.7
Postgresql 9.1
commons-lang 3-3.1
commons-pool 1.5.5
commons-dbcp 1.4
また、メモリ チャートの文字列クラスに従います。ほとんどのメモリ消費は、Xwork (struts) および Aspectj ライブラリによって使用されるクラスにあります。
私たちの質問は次のとおりです。
1- CPU とメモリの消費量のほとんどがライブラリにある場合、どのようにすれば CPU とメモリの消費量を減らすことができますか?
2- システムで実行できるその他の速度向上の方法は?