RME cwcli -- java heap outofmemory error

Answered Question
Feb 8th, 2010

I am attempting to run the following command from a windows server 2008, LMS 3.2, RME 4.3.1, ACS-integrated VM:

C:\PROGRA~2\CSCOpx\bin>cwcli.exe export inventory -u dbexport -p dbpassword1 -device %

It begins properly by filtering unneeded devices, but then errors out:

<cwcli> ERROR - Internal error. Contact Cisco Customer Support with cli.log details. See User Guide for Resource Manager Essentials for the log file location.

Here is the cwcli log file:

[ Mon Feb 08  08:37:23 CST 2010 ],INFO ,[main],com.cisco.nm.rmeng.common.VerifyRMELicense,validate,61,[email protected]
[ Mon Feb 08  08:37:23 CST 2010 ],INFO ,[main],com.cisco.nm.rmeng.common.VerifyRMELicense,validate,203,
[ Mon Feb 08  08:37:23 CST 2010 ],INFO ,[main],com.cisco.nm.rmeng.cli.framework.CwCli,doStuff,156,License check passed...
[ Mon Feb 08  08:37:33 CST 2010 ],INFO ,[main],com.cisco.nm.rmeng.common.VerifyRMELicense,validate,61,[email protected]
[ Mon Feb 08  08:37:33 CST 2010 ],INFO ,[main],com.cisco.nm.rmeng.common.VerifyRMELicense,validate,203,
[ Mon Feb 08  08:37:33 CST 2010 ],INFO ,[main],com.cisco.nm.rmeng.cli.framework.CwCli,doStuff,156,License check passed...
[ Mon Feb 08  08:37:48 CST 2010 ],INFO ,[main],com.cisco.nm.rmeng.util.db.DatabaseConnectionPool,getConnection,113,Inside ICSDatabaseConnection, MAX_COUNT =20
[ Mon Feb 08  08:43:04 CST 2010 ],FATAL,[main],com.cisco.nm.rmeng.cli.framework.CwCli,theBigBug,257,Java heap spacejava.lang.OutOfMemoryError: Java heap space
    at com.sybase.jdbc2.utils.Queue.expand(Queue.java:379)
    at com.sybase.jdbc2.utils.Queue.push(Queue.java:240)
    at com.sybase.jdbc2.timedio.ResponseQueue.push(ResponseQueue.java:44)
    at com.sybase.jdbc2.timedio.StreamContext.makeChunk(StreamContext.java:139)
    at com.sybase.jdbc2.tds.TdsProtocolContext.queueData(TdsProtocolContext.java:501)
    at com.sybase.jdbc2.timedio.InStreamMgr.moreData(InStreamMgr.java:357)
    at com.sybase.jdbc2.timedio.Dbio.doRead(Dbio.java:345)
    at com.sybase.jdbc2.timedio.InStreamMgr.readIfOwner(InStreamMgr.java:512)
    at com.sybase.jdbc2.timedio.InStreamMgr.doRead(InStreamMgr.java:273)
    at com.sybase.jdbc2.tds.TdsProtocolContext.getChunk(TdsProtocolContext.java:574)
    at com.sybase.jdbc2.tds.PduInputFormatter.readPacket(PduInputFormatter.java:229)
    at com.sybase.jdbc2.tds.PduInputFormatter.read(PduInputFormatter.java:62)
    at com.sybase.jdbc2.tds.TdsInputStream.read(TdsInputStream.java:81)
    at com.sybase.jdbc2.tds.TdsInputStream.readUnsignedByte(TdsInputStream.java:114)
    at com.sybase.jdbc2.tds.Tds.nextResult(Tds.java:2039)
    at com.sybase.jdbc2.jdbc.ResultGetter.nextResult(ResultGetter.java:69)
    at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:220)
    at com.sybase.jdbc2.jdbc.SybStatement.nextResult(SybStatement.java:203)
    at com.sybase.jdbc2.jdbc.SybStatement.executeLoop(SybStatement.java:1766)
    at com.sybase.jdbc2.jdbc.SybStatement.execute(SybStatement.java:1758)
    at com.sybase.jdbc2.jdbc.SybPreparedStatement.execute(SybPreparedStatement.java:630)
    at com.cisco.nm.rmeng.inventory.xml.Cisco_PhysicalMemory.init(Cisco_PhysicalMemory.java:85)
    at com.cisco.nm.rmeng.inventory.xml.Cisco_Card.init(Cisco_Card.java:84)
    at com.cisco.nm.rmeng.inventory.xml.Cisco_Chassis.init(Cisco_Chassis.java:95)
    at com.cisco.nm.rmeng.inventory.xml.RMEPlatform.init(RMEPlatform.java:51)
    at com.cisco.nm.rmeng.inventory.xml.InvDetails.init(InvDetails.java:28)
    at com.cisco.nm.rmeng.inventory.xml.InvDetails.export(InvDetails.java:41)
    at com.cisco.nm.rmeng.cli.export_inventory.doCommand(export_inventory.java:73)
    at com.cisco.nm.rmeng.cli.framework.CwcFwWrapper.doExternalCommand(CwcFwWrapper.java:106)
    at com.cisco.nm.rmeng.cli.framework.CwCli.doStuff(CwCli.java:223)
    at com.cisco.nm.rmeng.cli.framework.CwCli.main(CwCli.java:283)

Should I just increase the java heap?

I have this problem too.
0 votes
Correct Answer by Joe Clarke about 6 years 10 months ago

Yes, you can modify NMSROOT/MDC/tomcat/webapps/rme/WEB-INF/classes/com/cisco/nm/rmeng/cli/framework/heap.properties to increase the VM_HEAP_MAX size.  Try doubling it.  Alternatively, run cwcli against a smaller subset of devices.

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Loading.
Correct Answer
Joe Clarke Mon, 02/08/2010 - 09:23

Yes, you can modify NMSROOT/MDC/tomcat/webapps/rme/WEB-INF/classes/com/cisco/nm/rmeng/cli/framework/heap.properties to increase the VM_HEAP_MAX size.  Try doubling it.  Alternatively, run cwcli against a smaller subset of devices.

Actions

This Discussion