[SNMP4J] TableUtils getTable problems

Frank Fock fock at agentpp.com
Wed Apr 23 18:25:53 CEST 2008


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