OutOfMemory problem when deploying Maximo

For every client I work with, I always keep a copy of the SMP folder if I can. And every time I need a standard demo instance with exactly the same configuration with the client, I simply deploy it on my local Websphere and Oracle DB.

My current websphere version is 8.5.5.3, and I had problem whenever I deploy a Maximo 7.6 instance with lots of add-ons. I gave up the attempt in the last few times as I didn’t really need it. But recently, as I was working with Maximo Flex (on cloud), having a local instance is a must as Maximo on cloud has lots of limitation in term of what you can do. As such, I when I had the same problem deploying Maximo, I had to investigate and fix the issue. Turned out it is an OutOfMemory issue during the deployment process and it took me quite a bit of time to fix it, so I leave the note here as I’m sure many other will have similar problem.

PROBLEM: when deploying Maximo 7.6 with many add-ons, Websphere keeps running or stops with a failure.

IDENTIFY ERROR: if it takes more than 1 hour, I restart the system and re-deploy maximo. In many cases, it immediately returns a failure. If it returns a failure, I look at the SystemOut.log file under [Websphere Home]\AppServer\profiles\ctgDmgr01\logs\dmgr\

SOLUTION: if the problem is OutOfMemory error, it can be tricky as there are many different processes in Websphere using Java. So I ended up employing the spray and pray approach:

  • Increase heap size for WAS Admin console to 2GB: edit the wsadmin.bat under [Websphere Home\AppServer\bin\ to update this parameter: PERFJAVAOPTION=-Xms512m -Xmx1024m –Xquickstart

  • Increase Application Server heap size: in Websphere admin console, go to Servers section (on the left side menu) -> Server Types -> Websphere Applicaton Servers -> [MXServer] -> Java Process Management (link on the right side menu) -> Process Definition -> Java Virtual Machine. Set both Initial and Maximum heap size to 2048 MB

  • Increase deployment manager heap size: in Websphere admin console, go to System Administration section (on the left side menu) -> Deployment manager -> Java and Process management -> Process definition -> Java Virtual Machine. Set both initial and maximum heap size to 2048 MB

  • Increase heap for deploy tool: edit the ejbdeploy.bat file under [Websphere Home]\ \AppServer\deploytool\itp\ to update this parameter: EJBDEPLOY_JVM_HEAP=-Xms512  -Xmx1024m


With these update, I managed to deploy the EAR file. But Maximo and Websphere alone consume 6GB of my laptop memory. So I had to remind myself to reduce them back to probably 1024MB each to save valuable real estate.

2 comments:

  1. pucha, que maestro, yo ya estaba cagado 4 dias sin saber como arreglar este problema

    ReplyDelete
  2. Thanks a lot! The last tip worked for me. increased the EJBDEPLOY_JVM_HEAP in ejbdeploy.bat.

    ReplyDelete