Назад | Перейти на главную страницу

Приложение работает как несколько процессов

У меня есть приложение java / tomcat, работающее на RedHat linux. Сначала, когда я запускаю приложение, все вроде работает отлично. Однако через некоторое время, я полагаю, через 1-2 дня я стал свидетелем следующего в качестве основного результата.

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

7023 root      20   0 2857m 577m 5920 S  0.0 14.6   5:12.80 /prd/JAVA//bin/java -Djava.util.logging.config.file=/prd/myapp

17729 myus     20   0 2875m 574m 5920 S  0.0 14.5  10:49.76 /prd/JAVA//bin/java -Djava.util.logging.config.file=/prd/myapp

12597 root      20   0 2868m 564m 6304 S  0.0 14.3   5:54.86 /prd/JAVA//bin/java -Djava.util.logging.config.file=/prd/myapp

15863 myus     20   0 2856m 563m 5936 S  0.0 14.2  10:21.21 /prd/JAVA//bin/java -Djava.util.logging.config.file=/prd/myapp

Я действительно не понимаю, как мое приложение может работать 4 раза. Как бы то ни было, он также занимает память для всех 4 экземпляров. Пожалуйста, пролей свет на эту загадку.

Вы могли увидеть crontab myuser и root с crontab -l команда. Если ничего нет, возможно, секция postrotate конфигурации logrotate запускает новые процессы.

В приложении может быть автоматический перезапуск jvm-кода. Я бы поискал очевидные места, такие как crontab, а также посмотрел, почему он запускается под двумя пользователями (это означает, что запускается из двух мест). Если это внутреннее приложение, вы также можете спросить разработчика, поскольку он может перезапустить приложение из самого приложения.