I mean i'd to give full path. like this export JAVA_OPTS='-Xms256m -Xmx512m -Xss512k -verbose:gc -Xloggc:/usr/share/apache-tomcat-6.0.37/logs/heap.log'
On Thu, Jan 23, 2014 at 10:47 PM, Randeep <randeep...@gmail.com> wrote: > Thanks. That worked. Anything unusual? Garbage collection is happening too > often? > > [root@server logs]# cat /usr/share/apache-tomcat-6.0.37/logs/heap.log > 1.910: [GC 16192K->1923K(260160K), 0.0150080 secs] > 2.454: [GC 18115K->3151K(260160K), 0.0137140 secs] > 2.760: [GC 19343K->3309K(260160K), 0.0058220 secs] > 3.648: [GC 19501K->4446K(260160K), 0.0062870 secs] > 4.000: [GC 20638K->5063K(260160K), 0.0080940 secs] > 4.305: [GC 21255K->6302K(260160K), 0.0060890 secs] > 4.598: [GC 22494K->6323K(260160K), 0.0062020 secs] > 5.664: [GC 22515K->7098K(260160K), 0.0055070 secs] > 6.980: [GC 23290K->8708K(260160K), 0.0176410 secs] > 7.332: [GC 24900K->12045K(260160K), 0.0179400 secs] > 7.794: [Full GC 24591K->12864K(260160K), 0.2538960 secs] > 8.476: [GC 29184K->14200K(260288K), 0.0080560 secs] > 8.939: [GC 30520K->15401K(260288K), 0.0407000 secs] > 9.379: [GC 31721K->16897K(260288K), 0.0099850 secs] > 9.603: [GC 33217K->16652K(260288K), 0.0649140 secs] > 10.498: [GC 32972K->17768K(260288K), 0.0068540 secs] > 10.885: [GC 34088K->18538K(260288K), 0.0084330 secs] > 11.225: [GC 34858K->19584K(260288K), 0.0071730 secs] > 11.466: [GC 35904K->20313K(260288K), 0.0050570 secs] > 12.128: [GC 36633K->20565K(260288K), 0.0042210 secs] > 12.385: [Full GC 26015K->20204K(260288K), 0.2847340 secs] > 13.817: [GC 36524K->22174K(260288K), 0.0155690 secs] > 14.127: [GC 38494K->25303K(260288K), 0.0816490 secs] > 14.671: [GC 41623K->27150K(260288K), 0.0436660 secs] > 15.173: [GC 43470K->28757K(260288K), 0.0140720 secs] > 15.414: [Full GC 32030K->28926K(260288K), 0.3071990 secs] > 65.004: [GC 45310K->31775K(260352K), 0.0105440 secs] > [root@server logs]# > > > On Thu, Jan 23, 2014 at 10:33 PM, André Warnier <a...@ice-sa.com> wrote: > >> Randeep wrote: >> >>> Hi all, >>> Thanks a lot for valuable points. Here the information you guys asked and >>> the changes I made. >>> >>> OS : CentOS release 5.4 (Final) >>> httpd-2.2.3-65.el5.centos(front_end) +(mod_jk)+ apache-tomcat-6.0.37 >>> >>> I installed httpd using yum. >>> Downloaded tomcat from Apache as compressed archive(tar.gz) >>> >>> I'm using following startup script. >>> [root@server ~]# cat /etc/init.d/tomcat6 >>> #!/bin/bash >>> # description: Tomcat Start Stop Restart >>> # processname: tomcat >>> # chkconfig: 234 20 80 >>> JAVA_HOME=/usr/java/default >>> export JAVA_HOME >>> PATH=$JAVA_HOME/bin:$PATH >>> export PATH >>> CATALINA_HOME=/usr/share/apache-tomcat-6.0.37 >>> case $1 in >>> start) >>> sh $CATALINA_HOME/bin/startup.sh >>> ;; >>> stop) >>> sh $CATALINA_HOME/bin/shutdown.sh >>> ;; >>> restart) >>> sh $CATALINA_HOME/bin/shutdown.sh >>> sh $CATALINA_HOME/bin/startup.sh >>> ;; >>> esac >>> exit 0 >>> >>> As you said, I removed the JAVA_OPTS declaration from .bash_profile and I >>> have created setenv.sh and set JAVA_OPTS in it. >>> [root@server bin]# pwd >>> /usr/share/apache-tomcat-6.0.37/bin >>> >>> [root@server bin]# cat setenv.sh >>> export JAVA_OPTS='-Xms256m -Xmx512m -Xss512k -verbose:gc >>> -Xloggc:heap.log' >>> >>> Now it shows in grep. >>> [root@server bin]# ps aux | grep Bootstrap >>> root 1100 33.7 5.4 707052 95240 pts/0 Sl 11:29 0:06 >>> /usr/java/default/bin/java >>> -Djava.util.logging.config.file=/usr/share/apache-tomcat- >>> 6.0.37/conf/logging.properties >>> -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager >>> -Xms256m >>> -Xmx512m -Xss512k -verbose:gc -Xloggc:heap.log >>> -Djava.endorsed.dirs=/usr/share/apache-tomcat-6.0.37/endorsed -classpath >>> /usr/share/apache-tomcat-6.0.37/bin/bootstrap.jar >>> -Dcatalina.base=/usr/share/apache-tomcat-6.0.37 >>> -Dcatalina.home=/usr/share/apache-tomcat-6.0.37 >>> -Djava.io.tmpdir=/usr/share/apache-tomcat-6.0.37/temp >>> org.apache.catalina.startup.Bootstrap start >>> root 1158 0.0 0.0 3932 692 pts/0 R+ 11:29 0:00 grep >>> Bootstrap >>> [root@server bin]# >>> >>> But nothing came in heap.log. So I better monitor this and if I get the >>> OOM >>> again I have to increase Max limit! >>> >> >> Maybe you should provide a full path for the -Xloggc option ? >> >> >> >>> >>> On Thu, Jan 23, 2014 at 8:50 PM, Christopher Schultz < >>> ch...@christopherschultz.net> wrote: >>> >>> -----BEGIN PGP SIGNED MESSAGE----- >>>> Hash: SHA256 >>>> >>>> Randeep, >>>> >>>> On 1/23/14, 7:43 AM, Randeep wrote: >>>> >>>>> I'm getting out of memory exception errors. >>>>> >>>> :( >>>> >>>> Exception in thread "Timer-1" java.lang.OutOfMemoryError: Java heap >>>>> space at java.util.Arrays.copyOf(Arrays.java:2882) at >>>>> >>>>> java.lang.AbstractStringBuilder.expandCapacity( >>>> AbstractStringBuilder.java:100) >>>> >>>>> >>>>> at >>>> >>>>> java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:572) >>>>> >>>>> >>>>> at java.lang.StringBuffer.append(StringBuffer.java:320) >>>> >>>>> at org.json.JSONArray.toString(JSONArray.java:834) at >>>>> org.json.JSONObject.valueToString(JSONObject.java:1359) at >>>>> org.json.JSONObject.toString(JSONObject.java:1233) at >>>>> com.xxx.xxx.servlet.WServlet.writeProgramJson(WServlet.java:503) at >>>>> com.xxx.xxx.servlet.WServlet$1.run(WServlet.java:414) at >>>>> java.util.TimerThread.mainLoop(Timer.java:512) at >>>>> java.util.TimerThread.run(Timer.java:462) >>>>> >>>> If you are trying to serialize huge JSON objects, this is going to >>>> happen. I'm not sure if JSON is as smart as the Java Serialization >>>> engine, but if you have a circular-reference in your object graph, I'd >>>> be willing to bet that the JSON serializer will run forever and >>>> exhaust your heap. >>>> >>>> It's also possible that you simply have a tiny heap and need more, >>>> especially if you aren't currently setting any heap parameters. >>>> >>>> Is there anyway to see currently set jvm heap size details? Any >>>>> linux commands. >>>>> >>>> You can attach any profiler to your app. Good luck catching this in >>>> the act, though, in production. >>>> >>>> You can also use "jmap -heap" which comes with the JDK. Just point it >>>> at a process and you'll get a heap summary from a running JVM. Make >>>> sure your JVM and jmap version match. >>>> >>>> I have tried creating setenv.sh and putting the new parameters in >>>>> it. but echo $JAVA_OPTS was not giving any value. >>>>> >>>> setenv.sh is run during Tomcat startup. Running "echo $JAVA_OPTS" from >>>> the command-line isn't going to reveal anything. What you want to do >>>> is modify setenv.sh, re-launch Tomcat, and then look at the process >>>> command line... something like this: >>>> >>>> $ ps aux | grep Bootstrap >>>> >>>> This should give you the whole command-line for Tomcat, and you can >>>> verify that your heap options have been set. >>>> >>>> So I have put in .bash_profile and run it. Then restarted tomcat6. >>>>> >>>> Don't do that: it will only work if you login using bash, and it won't >>>> work for other users you may have to restart Tomcat. >>>> >>>> this is the line I added in .bash_profile. JAVA_OPTS="-Xms256m >>>>> -Xmx512m -Xss512k -verbose:gc -Xloggc:heap.log" >>>>> >>>> You'll need to "export" JAVA_OPTS, otherwise it won't do anything for >>>> you. >>>> >>>> - -chris >>>> -----BEGIN PGP SIGNATURE----- >>>> Version: GnuPG v1 >>>> Comment: GPGTools - http://gpgtools.org >>>> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ >>>> >>>> iQIcBAEBCAAGBQJS4TM+AAoJEBzwKT+lPKRYfB4QAMP4/MORiK92nK4kJ+KD9alc >>>> 2QYcriasb8QkPPgvYHGhGaxeLIprb1TE6tZdMSp08bHadDr+HpSbxi5xq9C6A1RJ >>>> fabHj9ShrXqdtTFiewPH3P/ulvaaJNPD1LeIFBwoG7/4vAIGKW48gLhaRUYcbe+z >>>> lV2NsZ18u38EZ9KRR8An66jX4PkwMXxl4QdQx5HDmuS/Sx8G7AfDVkuSB5PMNXbg >>>> TVlSEz5VeJnEGtBwnjgIa6ZSTv+iIv+nsw4WVuMe+4h1R07e1axxNismkgpUsU46 >>>> Ra4P7TssgdrqXFXmX4+kPNzd3xbbhPYIOOrQ0PYt6wGF0Wd9N1r/gvvViDbgghca >>>> wp39c3VJM8eE2vy9n0XCGYBkdq2DnRNVFV2y2xnfwecWKtDPEWfklTk8ZvbcAyxe >>>> hi3hxQnChCk74nxd/hvI1uNfgHcd/NwtmifwXPNM0BQCZ+AJarCbGca+a/BTTBaX >>>> txVIuIEf3jt/gpFu28UI8kt7Hx/PgWJ32QFyIPCbH5EYaSiKSz/Q6wCTvJTbUG4s >>>> GCK8AB/rGf1Z8efKlUZw2ESr1yX/VBCu9uOEK/60v+AAthiubq+O2ke1TzWKvy/I >>>> MxDhNiMo710w98h5hqIl5SthwXCgv3vEaaiUgDUV8zP3CoOtHL61NNZmLrMBTD2X >>>> 18aTMDKJ9BTvoYoZcmyV >>>> =IL2E >>>> -----END PGP SIGNATURE----- >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >>>> For additional commands, e-mail: users-h...@tomcat.apache.org >>>> >>>> >>>> >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org >> For additional commands, e-mail: users-h...@tomcat.apache.org >> >> > > > -- > Randeep > Mob: +919447831699[kerala] > Mob: +919880050349[B'lore] > I blog here: > http://www.randeeppr.me/ > Follow me Here: > http://twitter.com/Randeeppr > Poke me here! > http://www.facebook.com/Randeeppr > A little Linux Help > http://www.linuxhelp.in/ > Work profile: > http://in.linkedin.com/in/randeeppr > -- Randeep Mob: +919447831699[kerala] Mob: +919880050349[B'lore] I blog here: http://www.randeeppr.me/ Follow me Here: http://twitter.com/Randeeppr Poke me here! http://www.facebook.com/Randeeppr A little Linux Help http://www.linuxhelp.in/ Work profile: http://in.linkedin.com/in/randeeppr