Apache Tomcat всегда запускает 3 одинаковых процесса - PullRequest
1 голос
/ 28 января 2011

У меня есть сервер Apache Tomcat, на котором запущено приложение электронной коммерции.Я использую Debian Stable с использованием Tomcat 6 и Apache с mod_jk.

Когда я запускаю Tomcat, я всегда получаю 3 идентичных процесса в памяти:

 0:00 /usr/bin/jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat6.pid -Djava.awt.headless=true -Xmx11000M -Xms11000M -Dsun.lang.ClassLoader.allowArraySyntax=true -verbose:gc -XX:+UseParallelGC -XX:ParallelGCThreads=6 -Dcom.sun.management.jmxremote -XX:+AgressiveHeap -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/home/tomcat-temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties org.apache.catalina.startup.Bootstrap
 0:00 /usr/bin/jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat6.pid -Djava.awt.headless=true -Xmx11000M -Xms11000M -Dsun.lang.ClassLoader.allowArraySyntax=true -verbose:gc -XX:+UseParallelGC -XX:ParallelGCThreads=6 -Dcom.sun.management.jmxremote -XX:+AgressiveHeap -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/home/tomcat-temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties org.apache.catalina.startup.Bootstrap
53:18 /usr/bin/jsvc -user tomcat6 -cp /usr/share/java/commons-daemon.jar:/usr/share/tomcat6/bin/bootstrap.jar -outfile SYSLOG -errfile SYSLOG -pidfile /var/run/tomcat6.pid -Djava.awt.headless=true -Xmx11000M -Xms11000M -Dsun.lang.ClassLoader.allowArraySyntax=true -verbose:gc -XX:+UseParallelGC -XX:ParallelGCThreads=6 -Dcom.sun.management.jmxremote -XX:+AgressiveHeap -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/home/tomcat-temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties org.apache.catalina.startup.Bootstrap

Я боюсь, что это можетбыть проблемой.Я только что попытался убить первые два, так как они не используют мощность процессора (время 0:00), но после мягкого убийства первого, другие процессы также завершаются.

У нас только 16G в этоммашина, а памяти мало.Если бы я действительно выделил 11G каждому из этих 3 процессов, это могло бы стать частью проблем, с которыми я столкнулся в последнее время.

Мой вопрос такой: это нормально?Погуглив для ответа, кажется, что ни у кого больше нет этой проблемы, или никто не воспринимает это как проблему.

О, и файл pid называет процесс, который использует процессорное время.

Ответы [ 2 ]

2 голосов
/ 26 сентября 2011

Видимо неактивный дочерний поток создается в результате установки для outfile / errfile значения SYSLOG.Он получает сообщения журнала от основного дочернего процесса и передает их в системный журнал.

Чтобы продемонстрировать это, если вы установили not set outfile и errfile, или установили, что они являются обычными файлами, только родительский иосновной дочерний поток начнется.Вы также можете увидеть разницу в 'netstat -anp | grep jsvc', где появляется дополнительный сокет, если вы выводите на SYSLOG

Так что, как говорит Тим ​​Функ, это не о чем беспокоиться, и этоработает как положено.

1 голос
/ 28 января 2011

Проверьте идентификатор процесса родителей - вы, вероятно, увидите одного родителя и 2 детей.

Исторически сложилось - в таблице ps появилось МНОГИЕ записи за http://wiki.apache.org/tomcat/FAQ/Linux_Unix

В новых ядрах Linux - ps / top свел их к одному. Но jsvc запускается в родительском / дочернем стиле, который объясняет 2 процесса (но не 3).

Но если коротко, то, наверное, не о чем беспокоиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...