From: Arne Vajhøj on
On 08-02-2010 20:15, Krist wrote:
> On 9 Feb, 08:09, Arne Vajh�j<a...(a)vajhoej.dk> wrote:
>> On 08-02-2010 18:08, Krist wrote:
>>> In my Apps Server console (OC4J) JVM Metrics, there are two columns
>>> about memory :
>>
>>> Memory Usage (MB) -> Shows the amount of physical memory used by the
>>> JVM.
>>> Heap Usage (MB) -> Shows the amount of heap space used by the
>>> JVM.
>>
>>> (heap usage seems to be up and down, but memory usage is never going
>>> down, even when all user already loggout.)
>>
>>> What are the difference between the two ?
>>
>> I will guess that:
>>
>> memory usage = memory the JVM has allocated from the OS
>>
>> heap usage = memory your app has allocated from the JVM
>>
>> With two points:
>>
>> 1) the JVM need memory for internal stuff so memory usage
>> is greater than heap usage
>> 2) even if your app releases memory then the JVM may not
>> release it to the OS but keep it around just in case
>> you will need it again

> So, is it only the heap area that I can tune ? (GC& Memory leak)
>
> How can I also tune the 'memory for internal stuff' usage ?

I don't think you have much control over what the JVM use for
itself and for byte code and JIT'ed code.

Arne
From: Lew on
Krist wrote:
>> How can I also tune the 'memory for internal stuff' usage ?

Read the documentation.

<http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html>
<http://java.sun.com/javase/6/docs/technotes/guides/vm/gc-ergonomics.html
<http://java.sun.com/performance/reference/whitepapers/tuning.html>

You can search java.sun.com with its search options, or use your favorite
search engine.

In addition to the various JVM options, how you code your programs affects
memory usage. Java is generally optimized for frequent creation of
short-lived objects, which supports a programming style of least-scoped
variables, a best practice anyway.

--
Lew
From: Arne Vajhøj on
On 09-02-2010 10:56, Lew wrote:
> Krist wrote:
>>> How can I also tune the 'memory for internal stuff' usage ?
>
> Read the documentation.
>
> <http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html>
> <http://java.sun.com/javase/6/docs/technotes/guides/vm/gc-ergonomics.html
> <http://java.sun.com/performance/reference/whitepapers/tuning.html>
>
> You can search java.sun.com with its search options, or use your
> favorite search engine.
>
> In addition to the various JVM options, how you code your programs
> affects memory usage. Java is generally optimized for frequent creation
> of short-lived objects, which supports a programming style of
> least-scoped variables, a best practice anyway.

The 'memory for internal stuff' is all the memory except
the java variables in heap that gets GC'ed.

As far as I know there are very few options to control that.

Arne