Hey Guys and girls,can anybody with a experience in java since i am pretty new in it, tell me why a java or java enabled web program is eating up so much system resources like CPU,Ram......ect and how to go by finding what is causing the overhead.
Thanks a mill
Is this a web server side question or a web browser side question?
is the serverside operation....thanks DG
Well, you can control JAVA behaviors with -X and other command line arguments, for instance to set the heap size -Xmx very high and to specify how much GC cost you want. GC is forced when the heap fills, and the heap is VM, disk is cheap, newer JAVA has nice GC, parallel and heuristic. These options also can turn on parrallel buffered I/O, resulting in fewer real reads and writes, faster with lower overhead, no code but one option.
Using a "Server" grade platform and server mode java means the code is more optimized.
Using 64 bit mode unnecessarily may add some overhead.
RAM is VM, so "RAM in use" is a useless concept. If a program using 20M of RAM exits, there is 20M free until there are 20M new page faults -- so what? Do you have too much paging?
CPU use is pretty much dependent on economical programming, finesse and real load. Finding out what code is the CPU hog is a big industry, easier in C/C++ than JAVA, as a short truss/tusc/strace of a JAVA process does not tell you much. Creation and destruction of complex objects frequently is a great cost, in JAVA or C++, and worse in JAVA since it forces more GC. Sometimes jobs running continuously can be run at intervals and in sequence, not in parallel, so they do not start the machine thrashing or peak the CPU usage.