perfsonar-dev - Out of memory error in perfsonarUI 0.09
Subject: perfsonar development work
List archive
- From: Barney Garrett <>
- To:
- Subject: Out of memory error in perfsonarUI 0.09
- Date: Fri, 02 Feb 2007 15:31:22 +0000
Bringing up an old issue ... I've upgraded to version 0.09 of Perfsonar UI but the problem of out of memory error when selecting timescales longer than 1 week that I was experiencing in version 0.08 is still present. If you remember I'm somewhat stressing the system ;) since I only have a 60 second resolution in my rrd files.
Barney
-------- Original Message --------
Subject: Re: A bug and some questions regarding perfsonarUI
Date: Mon, 18 Sep 2006 07:16:05 +0300
From: Nina Jeliazkova
<>
Reply-To: Nina Jeliazkova
<>
To:
CC:
References:
<>
Hello,
Thank you for reporting this. After some tests we can confirm OutOfMemoryError
is due to 1) graphing unexpectedly large number of data points 2)for larger
time intervals it is the unabilty of Axis library to handle the response as a
large XML structure in memory.
This of course depends on how much memory Java machine is allowed to use (for
example on my laptop the error occurs when querying for last month, not last
week).
Indeed you are right that 60sec step is responsible to the Out of memory
error. We found that your service always returns data with resolution of 60
sec, regardless of the resolution in the request. There are two issues here.
RRD needs the time boundaries to be multiple of the resolution, otherwise it
returns the data with the finest resolution it has. perfonarUI 0.8 doesn't
align time boundaries due to a bug and therefore the returned data is with
finest resolution. However, the default behaviour of RRD is to keep data for
recent time intervals with 5 min resolution and for time intervals back in
time with even larger resolution. This is the reason other available MA
services return less data points and work fine when queried for week, month
and year.
Then we fixed the time boundaries bug in the developer version, but for our
surprise, your service continued to return data with 60 sec resolution,
regardless of the provided resolution value. This is definitely a different
behaviour than other MA services, which return data with the provided
resolution. This also seems like a discrepancy with the RRDTool documentation.
Could it be that some particular setting in your RRD MA service makes it to
ignore resolution?
The 10 min delay has the following simple explanation. RRD files are by
default updated on 5 minutes, so when asking for an interval including the
last 5min, it happens very often that the service return NaN for data values.
Therefore we've moved the time interval boundary 5 min back. The next 5 min
are due to the fact that rrd files for ISTF service are updated on one machine
(that runs Cacti) and copied every 5 minutes to the other machine that runs MA
service. To avoid any NaNs in the response, we've moved the time boundary
another 5 min back (although this might be over pessimistic solution).
In short, right now there is no way to avoid this 10 min delay, but we could
provide an option in the next release. Again, there is no way to change
resolution in user interface, but even if there were, your service is ignoring
the provided resolution for some reason.
Thanks again for reporting the bugs. Memory issue definitely needs to be
addressed and we'll try to find a solution for the next release.
Best regards,
Nina
--
---------------------------------------------------------------
Dr. Nina Nikolova-Jeliazkova
* * Institute for Parallel Processing
* * Bulgarian Academy of Sciences
* IST Foundation * Acad. G. Bonchev St 25-A
* The Bulgarian NREN * 1113 Sofia, Bulgaria
* * Tel: +359 886 802011
* * ICQ: 10705013
http://www.ist.bg www: http://ambit.acad.bg/nina
---------------------------------------------------------------
PGP Public Key
http://cert.acad.bg/pgp-keys/keys/nina-nikolova-0xEEABA669.asc
8E99 8BAD D804 1A43 27B7 7F87 CF04 C7D1 EEAB A669
---------------------------------------------------------------
Barney Garrett
<>
wrote:
Hi,NESC,http://cps-ed-01.nesc.ed.ac.uk:8080/axis/services/MeasurementArchiveService,NMWG2v2_netutil
I'm running version 0.8 of the perfsonarUI and I've got a problem. When graphing an interface the application takes an excessively long time unless set to 3-days or less for the scale. It also crashes with an out of heap memory error if I try and select longer than 1-week.
Exception in thread "Thread-38" java.lang.OutOfMemoryError: Java heap space
in the perfsonar.log file I get :
----------------------------------------------------------------------------
2006-09-14 16:23:19,024 [Thread-38] DEBUG org.perfsonar.client.ma.MARequest2 - Sending request to
2006-09-14 16:23:19,024 [Thread-38] DEBUG org.perfsonar.client.ma.MARequest2 - <nmwg:message id="1" type="SetupDataRequest" xmlns:netutil="http://ggf.org/ns/nmwg/characteristic/utilization/2.0/" xmlns:nmwg="http://ggf.org/ns/nmwg/base/2.0/" xmlns:nmwgt="http://ggf.org/ns/nmwg/topology/2.0/" xmlns:select="http://ggf.org/ns/nmwg/ops/select/2.0/">
<nmwg:metadata id="meta1">
<netutil:subject id="iusub1">
<nmwgt:interface>
<nmwgt:hostName>ED-7609</nmwgt:hostName>
<nmwgt:ifName>GigabitEthernet6/1</nmwgt:ifName>
<nmwgt:direction>in</nmwgt:direction>
</nmwgt:interface>
</netutil:subject>
<nmwg:eventType>utilization</nmwg:eventType>
</nmwg:metadata>
<nmwg:metadata id="meta2">
<select:subject id="iusub2" metadataIdRef="meta1"/>
<nmwg:eventType>select</nmwg:eventType>
<select:parameters id="param1">
<nmwg:parameter name="startTime">1155654799</nmwg:parameter>
<nmwg:parameter name="endTime">1158246799</nmwg:parameter>
<nmwg:parameter name="consolidationFunction">AVERAGE</nmwg:parameter>
<nmwg:parameter name="resolution">720</nmwg:parameter>
</select:parameters>
</nmwg:metadata>
<nmwg:data id="data1" metadataIdRef="meta2"/>
</nmwg:message>
2006-09-14 16:23:20,834 [Thread-38] DEBUG org.perfsonar.client.ma.MARequest2 -
Sent query using AXIS...
2006-09-14 16:23:20,835 [Thread-38] DEBUG org.perfsonar.client.ma.MARequest2 -
Received answer (?)...
-----------------------------------------------------------------------
So on to the questions If you look at the request that is sent to the perfsonar web service there are 2 issues. The first is that the endTime parameter is ste to a time 10 minutes in the past (in relation to when the request is made). Is there a way of changing this delay to get a more up to date graph. The second thing is that the resolution is set to 5400 when in my rrd file the step size is 60 seconds. Again is there any way to change this or does it not matter.
Thinking on the 60 second step time be responsible for the java.lang.OutOfMemoryError: Java heap space error.
Many Thanks
Barney Garrett
- Out of memory error in perfsonarUI 0.09, Barney Garrett, 02/02/2007
Archive powered by MHonArc 2.6.16.