Skip to Main Content

Java Programming

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

JVM performance slowed down after

807605Jul 31 2007 — edited Jul 31 2007
Hello all,

My java application is heavily multithreaded and its supposed to run as a 24/7 service. Its supposed to collect SMS from different servers, store in memory/flat-files and send them to clients.

The application has been running for the past 6 days and
the JVM has slowed down considerably. (performance has gone down)

Initially the app used to receive/send arnd 50 SMS per second and now it process aroubd 20-25 SMS per second.

I've been using Your kit profiler to profile my app.

The maximum heap I allocated was 500MB; the alloted Heap shown in the
profiler is 95MB and the used Heap is 65MB

The CPU usage looks fairly stable,i.e. it does go up when SMS comes in
and i/o operations takes place and goes to 0% when no process is being done.

memory usage also looks fairly stable.

(No explicit memory leaks)

The application has over 133 threads and that stays the same as per
the profiler tool kit.

Also in my application I have a maintainance phase at 23:00 hours during which i do some cleaning work like
-deleting of expired SMS from memory
-deleting old log files
-deleteing other flat files
-and finally I explicitly call the garbage collector

What should I look in - to maintain the performance, should I not explicitly call
the GC and let JVM do it on its own? or is it beacause the heap space has become fragmented? - I do make a lots of read/writes from/to the objects stored in Heap.

I also make around 160,000+ read/write from/to flat files in the hard disk.
Could this cause the JVM to slow down?

Any suggestion on this will be great.
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 28 2007
Added on Jul 31 2007
7 comments
1,620 views