[CentOS] can't get Tomcat5 to work on centos 5.1, how do I get it to work?

Fri May 9 13:06:14 UTC 2008
Rudi Ahlers <Rudi at SoftDux.com>


----- Message from lesmikesell at gmail.com ---------
     Date: Fri, 09 May 2008 07:54:42 -0500
     From: Les Mikesell <lesmikesell at gmail.com>
Reply-To: CentOS mailing list <centos at centos.org>
  Subject: Re: [CentOS] can't get Tomcat5 to work on centos 5.1, how  
do I get it to work?
       To: CentOS mailing list <centos at centos.org>


> Rudi Ahlers wrote:
>> Filipe Brandenburger wrote:
>>> Hi,
>>>
>>> On Thu, May 8, 2008 at 6:00 PM, Rudi Ahlers <Rudi at softdux.com> wrote:
>>>
>>>> Exception in thread "main" java.lang.OutOfMemoryError: Cannot create
>>>>
>>>
>>> It looks like it's running out of memory when starting more threads.
>>> Did you check if you have enough memory in this server to run Tomcat?
>>> I think you need at least 512MB for it, but I would recommend more.
>>>
>>> I know there are some tunings made to the JVM for it to request more
>>> memory. If you do "ps -ef | grep java" when Tomcat is started you will
>>> see some parameters starting with -X that will specify memory sizes,
>>> check how much it requests. I don't really know how to tweak those,
>>> check the script that starts Tomcat to see if it allows changing them.
>>>
>
>>
>>
>> What you're saying could be true, but I don't think it's the case.
>>
>> I have confirmed with the client, and he says that 128MB RAM would   
>> be enough for his app.
>
> The default config is probably asking for more than that.
>
>
>> [root at vps06 /]# /etc/init.d/tomcat5 restart
>> Starting tomcat5:                                          [  OK  ]
>> [root at vps06 /]# ps -ef | grep java
>> tomcat   13918     1 62 02:40 ?        00:00:02   
>> /usr/lib/jvm/java/bin/java   
>> -Dcatalina.ext.dirs=/usr/share/tomcat5/shared/lib:/usr/share/tomcat5/common/lib -Dcatalina.ext.dirs=/usr/share/tomcat5/shared/lib:/usr/share/tomcat5/common/lib -Djava.endorsed.dirs=/usr/share/tomcat5/common/endorsed -classpath /usr/lib/jvm/java/lib/tools.jar:/usr/share/tomcat5/bin/bootstrap.jar:/usr/share/tomcat5/bin/commons-logging-api.jar:/usr/share/java/mx4j/mx4j-impl.jar:/usr/share/java/mx4j/mx4j-jmx.jar -Dcatalina.base=/usr/share/tomcat5 -Dcatalina.home=/usr/share/tomcat5 -Djava.io.tmpdir=/usr/share/tomcat5/temp org.apache.catalina.startup.Bootstrap   
>> start
>>
>> [root at vps06 /]# ps -ef | grep java
>> root     14011 12038  0 02:40 pts/0    00:00:00 grep java
>> [root at vps06 /]# free -m
>>            total       used       free     shared    buffers     cached
>> Mem:           256         20        235          0          0          0
>> -/+ buffers/cache:         20        235
>>
>>
>> As you can see, the first time I ran "ps -ef | grep java" I could   
>> see that it's starting up, but the second time, it's not running
>>
>> I have another terminal open with top running, and the memory usage  
>>  didn't even blink when I ran it
>
> What jvm are you running?  Chances are that you will have to install
> the Sun version to run the app(s) so you might want to do that before
> much other troubleshooting.
>
>
> -- 
>   Les Mikesell
>    lesmikesell at gmail.com
> _______________________________________________



Yea, I have upped the RAM to 1024MB, and it's working now.

Is this what you're looking for?
[root at vps06 ~]# java -version
java version "1.4.2"
gij (GNU libgcj) version 4.1.2 20070626 (Red Hat 4.1.2-14)

How / where does one optimize java's usage?



output from top:


top - 09:05:42 up  1:59,  1 user,  load average: 0.02, 0.02, 0.00
Tasks:  30 total,   1 running,  29 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1048576k total,   799828k used,   248748k free,        0k buffers
Swap:        0k total,        0k used,        0k free,        0k cached

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
15908 tomcat    15   0  595m 134m  35m S    0 13.1   0:28.89 java
  5506 mysql     18   0  133m  18m 3992 S    0  1.8   0:00.08 mysqld
14282 root      18   0  7440 5420 1600 S    0  0.5   0:00.01 miniserv.pl
10132 root      18   0  9144 2884 2200 S    0  0.3   0:00.09 sshd
19532 root      18   0 10428 2832 1388 S    0  0.3   0:00.00 httpd
  3674 named     25   0 68504 2752 1756 S    0  0.3   0:00.00 named
19533 apache    25   0 10428 2096  628 S    0  0.2   0:00.00 httpd
19535 apache    25   0 10428 2096  628 S    0  0.2   0:00.00 httpd
19536 apache    25   0 10428 2096  628 S    0  0.2   0:00.00 httpd
19537 apache    25   0 10428 2096  628 S    0  0.2   0:00.00 httpd
19538 apache    25   0 10428 2096  628 S    0  0.2   0:00.00 httpd
19539 apache    25   0 10428 2096  628 S    0  0.2   0:00.00 httpd
19540 apache    25   0 10428 2096  628 S    0  0.2   0:00.00 httpd
19541 apache    25   0 10428 2096  628 S    0  0.2   0:00.00 httpd
11791 postfix   18   0  6820 1868 1496 S    0  0.2   0:00.00 qmgr
11789 root      18   0  6700 1768 1408 S    0  0.2   0:00.01 master
12080 postfix   18   0  6768 1760 1416 S    0  0.2   0:00.00 pickup
25774 root      15   0  2420 1312 1092 S    0  0.1   0:00.02 bash
11784 root      18   0  2420 1308 1088 S    0  0.1   0:00.03 bash
  1985 root      17   0  2424 1304 1084 S    0  0.1   0:00.17 bash
  5470 root      22   0  2416 1128  964 S    0  0.1   0:00.00 mysqld_safe
  3376 root      18   0  3184 1104  576 S    0  0.1   0:00.00 crond
  7548 root      18   0  6148 1036  668 S    0  0.1   0:00.00 sshd
10122 root      18   0  2172 1028  824 R    0  0.1   0:00.49 top
  3326 root      20   0  2684  856  684 S    0  0.1   0:00.00 xinetd
     1 root      15   0  2040  656  564 S    0  0.1   0:00.35 init
  3297 root      18   0  1700  580  484 S    0  0.1   0:00.00 syslogd
11908 root      18   0  1664  440  368 S    0  0.0   0:00.00 tail
  1980 root      15   0  1868  436  336 S    0  0.0   0:00.28 vzctl
25773 root      17   0  1872  316  216 S    0  0.0   0:00.00 vzctl



-- 

Kind Regards
Rudi Ahlers