Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > What is the difference between Memory Usage and Heap Usage in my JVMMetrics ?

Reply
Thread Tools

What is the difference between Memory Usage and Heap Usage in my JVMMetrics ?

 
 
Krist
Guest
Posts: n/a
 
      02-08-2010
Hi all,

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 ?

Thank you for your help,
xtanto
 
Reply With Quote
 
 
 
 
Roedy Green
Guest
Posts: n/a
 
      02-09-2010
On Mon, 8 Feb 2010 15:08:41 -0800 (PST), Krist <(E-Mail Removed)>
wrote, quoted or indirectly quoted someone who said :

>
>(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 ?


Your variables you allocate with new go on the heap. Other memory use
includes the class files, the machine language equivalents of the
class files, the native code for the interpreter/hot spot.
--
Roedy Green Canadian Mind Products
http://mindprod.com

Every compilable program in a sense works. The problem is with your unrealistic expections on what it will do.
 
Reply With Quote
 
 
 
 
Arne Vajh°j
Guest
Posts: n/a
 
      02-09-2010
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

Arne


 
Reply With Quote
 
Krist
Guest
Posts: n/a
 
      02-09-2010
On 9 Feb, 08:09, Arne Vajh°j <(E-Mail Removed)> 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
>
> Arne


Hi sirs,
Thank you for your reply.

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 ?

Thank you,
Krist





 
Reply With Quote
 
Arne Vajh°j
Guest
Posts: n/a
 
      02-09-2010
On 08-02-2010 20:15, Krist wrote:
> On 9 Feb, 08:09, Arne Vajh°j<(E-Mail Removed)> 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
 
Reply With Quote
 
Roedy Green
Guest
Posts: n/a
 
      02-09-2010
On Mon, 8 Feb 2010 17:15:54 -0800 (PST), Krist <(E-Mail Removed)>
wrote, quoted or indirectly quoted someone who said :

>How can I also tune the 'memory for internal stuff' usage ?


see http://mindprod.com/jgloss/javaexe.html
for some of the parameters you can tweak.
Follow links to some even more esoteric ones.

You can also use Jet which adjusts memory usage as it runs in some
intelligent way.
see http://mindprod.com/jgloss/jet.html
--
Roedy Green Canadian Mind Products
http://mindprod.com

Every compilable program in a sense works. The problem is with your unrealistic expections on what it will do.
 
Reply With Quote
 
Roedy Green
Guest
Posts: n/a
 
      02-09-2010
On Mon, 8 Feb 2010 17:15:54 -0800 (PST), Krist <(E-Mail Removed)>
wrote, quoted or indirectly quoted someone who said :

>How can I also tune the 'memory for internal stuff' usage ?


Try a variety of constellations of options and see which actually
works better. Bigger is not necessarily better. What is best depends
on your machine and what else in running in your machine at the time.
--
Roedy Green Canadian Mind Products
http://mindprod.com

Every compilable program in a sense works. The problem is with your unrealistic expections on what it will do.
 
Reply With Quote
 
Lew
Guest
Posts: n/a
 
      02-09-2010
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/te...rgonomics.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
 
Reply With Quote
 
Arne Vajh├Şj
Guest
Posts: n/a
 
      02-10-2010
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/te...rgonomics.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
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Difference between the stack and the heap? Zach C Programming 9 02-20-2007 04:16 AM
What is the difference between heap and stack Veeru C++ 12 09-14-2006 04:13 PM
Difference between bin and obj directories and difference between project references and dll references jakk ASP .Net 4 03-22-2005 09:23 PM
What's the difference between the heap and the freestore? Jorge Rivera C++ 10 05-10-2004 02:17 PM
difference between stack & heap (general, for a newbie) Sean Cook C++ 15 01-29-2004 12:04 PM



Advertisments