Stop
the world (STW) garbage collection
"The only remaining problem with the latest result above
is the long Old generation (Full) GC pauses of about 8 seconds on average.
These pauses have been made rare by proper generation tuning but when they
occur they still are a nuisance to users because during their duration the JVM
is not executing worker threads (stop-the-world GC). In our case, these 8
seconds are caused by an old and slow test server and could be up to a factor
of 3 faster on modern hardware. On the other hand, today’s applications
typically also use larger heaps than 1 GB and have larger amounts of live
objects in the heap than in this example. Web applications nowadays work with
heaps up to 64 GB and (at least temporarily) need half of that for their live
objects. In such cases, 8 seconds is short for Old generation pauses. They can
easily come close to one minute which is totally unacceptable for an
interactive web application"
Java
memory leaks
"On the other hand, a non-growing or slow-growing memory
leak is easily overlooked because it can seem so minor as to be unimportant.
However, when such a leak is triggered by a single large object structure, the
missing memory can pose a significant threat to the stability of the
application. By using a modern heap-analyzer tool, we can track down this type
of leak fairly quickly as is visualized in figure 2.25 (see the Analyzing
Performance Impact section earlier in this chapter)."
Comments
Post a Comment