We run Applinx 5.2.4 in a Linux partition on an IBM mainframe. Also Suse 9, Apache Tomcat 5.0.19, and IBM Java 1.4.2. Some of our Applinx enabled programs return a huge amount of data for a table to be displayed. Every so often we get a Java OutOfMemory error.
In the catalina.sh file we have:
CATALINA_OPTS=" -server -Xms2048m -Xmx2048m -Xincgc -Xcompactgc"
In the start-gxserver.sh file we have:
$JAVA_HOME/bin/java -Xmx1024m -Xcompactgc -Xbootclasspath/p:“$_BCP”
-classpath “$_CP” “-Dcom.sabratec.gxhome=$GXHOME”
“-Dcom.sabratec.license=$SAG/common/LKey/”
com.sabratec.applinx.server.runtime.GXServerContextStart &
Total RAM for the Linux partition is 4024mb.
What would be the most efficient way to maximize my heap size to give it the most space to allow for our huge data tables? I have tried many variations, but the above seems to be the best. Since I am no Linux expert, I know it can be improved. Suggestions are most welcome.
Hi Joe,
I remember this case.
Last time you told me you cannot upgrade the JVM because of OS limitation. Is that still the case?
According to this article - Java SDK
IBM has JVM 1.6 and 1.5 for z/os. If you can please upgrade your JVM
I am trying to get our Mainframe outsourcer to upgrade the Java, but I am having some resistance. I will get it done, just not immediately. I have zipped the logs and the gxz as you requested, but I am getting this message:
“Sorry, you have reached your maximum Upload Quota Limit of 2 MB”. The file is only 258KB. How can I get the zipped fille to you?
Thanks,
Joe
Never mind. I deleted some old items and got the attachment up. Logs.zip (258 KB)
Unfortunately, the dumps are reviewed and then deleted. The space they take up on the Linux VM is too much to maintain. The heap dumps are very large. I can grab the next batch and make sure they are not deleted. I will also try to recreate it on the test VM. It should not be a problem. I will let you know the size and we can then decide how best to view it.
Thanks,
Joe
Ok, I have recreated the dumps, but the zipped file size is 41,741KB. Can you provide me with a Software AG server to load it to? Let me know what you decide. I have attached the new logs and the javacore dump. The appdump.gif file is the result in the browser, and the heaping.gif file shows the Linux status at the time of the dump.
Well, it seems that I already have the castor-0.9.6b.jar file in the place where you indicated. Also, I did have the -Xmx parameter in the catalina.sh file, which I have attached. I will get you the core file when I get the next dump. I will crash the test system today and get you the files.
Hi,
Maybe the Jar is corrupted? Try switching it with the one I sent you.
Maybe it’s better if you zip together all the relevant files (after you get the system to crush) and send it to me again. (using Rapidshare?)
Thanks,
Asaf
On the jar file, it was never missing. It was located where you had indicated previously. I did replace it with the one you sent and there was no change in operations. I created a new application via the framework manager, and it also worked fine. My assumption falls back to our current version of Java, which is IBM 1.4.2. I believe it has memory leaks and probably other problems that would be fixed if we could upgrade it to the most current version. Unfortunately, since we use an outsourcer for our mainframe, it has been a struggle to get them to even look at upgrading it. I am pushing forward with it, but it will take time. I was just hoping for some possible tweaks to improve our chances of avoiding the “Out of Memory” problem. I do appreciate your assistance in trying to help me improve our Linux processing. Let me know if you would like any further info.
I also think that upgrading the Java version could solve the problem.
For now we can clearly see that the Tomcat is called without the -Xmx parameter according to what you
I have attached a zip file with the files I collected for you. It all seems fine to me. If I assign a max size of -Xmx2048m to Tomcat (in catalina.sh) , and then a max size of -Xmx1024m to the gxserver (in start-gxserver.sh), I think it should function correctly, but I’m just not sure. No changes have been made to anything in quite awhile (just me tweaking the catalina.sh and start-gxserver.sh files).