[SNMP4J] TableUtils getTable problems

Michael Yavorovsky MichaelY at Radware.com
Thu Apr 24 07:58:53 CEST 2008


Hi Frank,

Sorry, but I didn't understand your explanation about possible reasons
for OutOfMemory. Can you please clarify this issue?

Thanks, 
   Michael

-----Original Message-----
From: Frank Fock [mailto:fock at agentpp.com] 
Sent: Wednesday, April 23, 2008 7:26 PM
To: Michael Yavorovsky
Cc: Robert Stacy; snmp4j at agentpp.org
Subject: Re: [SNMP4J] TableUtils getTable problems

Hi Michael,

SNMP4J does not hold or collect any significant
overhead. For big tables, I would recommend
using the async method instead of the sync
one. The performance can only be better.

If you say it is worse, maybe something else
happens:

A probable cause of an OutOfMemory is an
agent that does not return rows in lexicograhpic
order or if it returns than there actually
are. SNMP4J tries to detect incorrect ordering
but especially with sparse tables, it may happen
that the internal cache of TableUtils get very
big.

In such a case, if you can, try to fix the agent
or use Snmp.getNext or .getBulk with your own
(adapted) order checking.

Hope this helps.

Best regards,
Frank

Michael Yavorovsky wrote:
> public List getTable(Target target,
>                        OID[] columnOIDs,
>                        OID lowerBoundIndex,
>                        OID upperBoundIndex)
> 
> I'm falling on OutOfMemory while calling this method without
upper/lower
> indexes. It seems to me that there no way to influence this flow. By
the
> way, increasing heap size solves the problem ... till bigger tables
are
> to be retrieved. So I think that SNMP4J data structures have a lot
> metadata that makes the response very big.
>  
> -----Original Message-----
> From: Robert Stacy [mailto:rstacy at zcorum.com] 
> Sent: Wednesday, April 23, 2008 4:27 PM
> To: Michael Yavorovsky
> Cc: snmp4j at agentpp.org
> Subject: Re: [SNMP4J] TableUtils getTable problems
> 
> Michael Yavorovsky wrote:
>> Hi,
>>
>>  
>>
>> I'm using TableUtils.getTable (SNMPv1) to get rather big tables
>> (something like 2k rows) and on some step I started to get
OutOfMemory
>> exceptions while running this method. Than I tried to get those
tables
>> asynchronously and got worse performance.  Is there any other
solution
>> to provide better performance for big SNMP tables?
>>
>>  
>>
>>  
>>
>> Thanks in advance,
>>
>>    Michael
>>
>> _______________________________________________
>> SNMP4J mailing list
>> SNMP4J at agentpp.org
>> http://lists.agentpp.org/mailman/listinfo/snmp4j
>>
>>
>>   
> Not sure why you are getting an out of memory exception.  I have 
> actually retrieved much larger tables than that using TableUtils both 
> synchronously and asynchronously and have had no issues.  Check the
code
> 
> you are executing when processing the table maybe.
> _______________________________________________
> SNMP4J mailing list
> SNMP4J at agentpp.org
> http://lists.agentpp.org/mailman/listinfo/snmp4j

-- 
AGENT++
http://www.agentpp.com
http://www.mibexplorer.com
http://www.mibdesigner.com



More information about the SNMP4J mailing list