Content-Type: multipart/alternative; boundary="_000_2BA684E18540B54BB94459D0C519C9A92A96011CEX10MB3bnlgov_" --_000_2BA684E18540B54BB94459D0C519C9A92A96011CEX10MB3bnlgov_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, The only thing I am aware that can grow outside of both permgen and heap ar= e memory mapped files... and I doubt that's our case. I'd double check what the JVM sees: I personally get confused sometime. For= example, using JVisualVM: [cid:image001.png@01CF9142.7064D880] In the monitor tab, you can also check what memory is used for Heap and wha= t is PermGen. In Java 8 you'll see Metaspace instead of PermGen: [cid:image002.png@01CF9144.31362770] The Perform GC and Heap button are there as well. Gabriele -----Original Message----- From: Kasemir, Kay [mailto:kasemirk@ornl.gov] Sent: Thursday, June 26, 2014 1:13 PM To: marcus.michalsky@ptb.de Cc: Kasemir, Kay; Carcassi, Gabriele; cs-studio-users@lists.sourceforge.net Subject: Re: [Cs-studio-users] Filling Memory when observing PVs Hi: I don't understand. If you set -Xmx256m, that defines the overall memory limit. The JVM could s= top because what you want to do is not possible with -Xmx256m. It shouldn't= keep growing to the point where the Linux oom-killer becomes active. There may be some difference between what the JVM considers "256m" and what= Linux sees for the overall process, but there's a huge difference between = -Xmx256m =3D 256 MB and total-vm:7278584kB =3D 7GB. Maybe the -Xmx256m wasn= 't effective? Where did you specify it? As for perm gen space, there is a default limit built into the product. It'= s not unlimited. Perm gen space is as you say for classes, strings, ..,it d= oesn't tend to grow with runtime except for that Jython problem where each = newly executed Jython file uses new perm gen space memory. Thanks, Kay On Jun 25, 2014, at 1:39 PM, marcus.michalsky@ptb.de wrote: Hi, > > I started the process with -Xmx256m but without any definition for > perm size. Does this mean I am allowing > (theoretically) infinite perm gen space for the process/vm ? But does > this matter since in perm gen there are classes, Strings and other > static stuff and the dynamically allocated space for objects etc. ist sto= red on the heap (which has a limit) ? > I will try to repeat the tests with the perm gen size limit and see what = happens... > Curious what will happen when using Java 8 where the perm gen limit param= eter has been removed: http://openjdk.java.net/jeps/122 . > > P.S. The 45,6% Memory process stopped running because the linux oom-kille= r process decided to stop it: > > [So Jun 22 21:09:41 2014] Out of memory: Kill process 21744 (java) > score 474 or sacrifice child [So Jun 22 21:09:41 2014] Killed process > 21744 (java) total-vm:7278584kB, anon-rss:4446556kB, file-rss:968kB > > Marcus --_000_2BA684E18540B54BB94459D0C519C9A92A96011CEX10MB3bnlgov_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi,

 

The only thing I am aware that can grow outside o= f both permgen and heap are memory mapped files… and I doubt thatR= 17;s our case.

 

I’d double check what the JVM sees: I perso= nally get confused sometime. For example, using JVisualVM:

 

In the monitor tab, you can also check what memor= y is used for Heap and what is PermGen. In Java 8 you’ll see Metaspac= e instead of PermGen:

The Perform GC and Heap button are there as well.=

 

Gabriele

 

-----Original Message-----
From: Kasemir, Kay [mailto:kasemirk@ornl.gov]
Sent: Thursday, June 26, 2014 1:13 PM
To: marcus.michalsky@ptb.de
Cc: Kasemir, Kay; Carcassi, Gabriele; cs-studio-users@lists.sourceforge.net=
Subject: Re: [Cs-studio-users] Filling Memory when observing PVs

 

Hi:

 

I don't understand.

If you set -Xmx256m, that defines the overall mem= ory limit. The JVM could stop because what you want to do is not possible w= ith -Xmx256m. It shouldn't keep growing to the point where the Linux oom-ki= ller becomes active.

There may be some difference between what the JVM= considers "256m" and what Linux sees for the overall process, bu= t there's a huge difference between -Xmx256m =3D 256 MB and total-vm:727858= 4kB =3D 7GB. Maybe the -Xmx256m wasn't effective? Where did you specify it?

 

As for perm gen space, there is a default limit b= uilt into the product. It's not unlimited. Perm gen space is as you say for= classes, strings, ..,it doesn't tend to grow with runtime except for that = Jython problem where each newly executed Jython file uses new perm gen space memory.

 

Thanks,

Kay

 

On Jun 25, 2014, at 1:39 PM, marcus.michalsky@ptb.= de wrote:

Hi,

>

> I started the process with -Xmx256m but with= out any definition for

> perm size. Does this mean I am allowing=

> (theoretically) infinite perm gen space for = the process/vm ? But does

> this matter since in perm gen there are clas= ses, Strings and other

> static stuff and the dynamically allocated s= pace for objects etc. ist stored on the heap (which has a limit) ?

> I will try to repeat the tests with the perm= gen size limit and see what happens...

> Curious what will happen when using Java 8 w= here the perm gen limit parameter has been removed: http://openjdk.java.net/jeps/122 .

>

> P.S. The 45,6% Memory process stopped runnin= g because the linux oom-killer process decided to stop it:

>

> [So Jun 22 21:09:41 2014] Out of memory: Kil= l process 21744 (java)

> score 474 or sacrifice child [So Jun 22 21:0= 9:41 2014] Killed process

> 21744 (java) total-vm:7278584kB, anon-rss:44= 46556kB, file-rss:968kB

>

> Marcus

 

--_000_2BA684E18540B54BB94459D0C519C9A92A96011CEX10MB3bnlgov_--