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

создаются новые экземпляры java

Я подключился по ssh к серверу в моем офисе, на котором запущен Lucid Lynx 10.04. Я не знаю, почему у него так много экземпляров java.

Спасибо

Это консольная панель $ top

Tasks: 134 total,   2 running, 132 sleeping,   0 stopped,   0 zombie
Cpu(s): 98.2%us,  1.8%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1926032k total,  1895432k used,    30600k free,    19500k buffers
Swap:  5644280k total,   192576k used,  5451704k free,   268796k cached

  PID USER      NI  VIRT  RES  SHR S %CPU %MEM    TIME+   PPID GROUP    COMMAND                                                                                                                                
27132 padmin     0 1149m 405m  10m S   58 21.6 429:33.50     1 padmin   java                                                                                                                                   
 7169 padmin     0 1134m 380m  10m S   57 20.2  37:02.32     1 padmin   java                                                                                                                                   
 1893 padmin     0 1142m 381m  10m S   51 20.3 170:03.34     1 padmin   java                                                                                                                                   
 3515 padmin     0 1105m 241m  916 S   20 12.8   4932:54     1 padmin   java                                                                                                                                   
16946 root       0 41784 7768 1084 S    1  0.4   0:00.13  6935 root     munin-node                                                                                                                             
17301 nobody     0 17368 2744 1696 R    1  0.1   0:00.03 16946 munin    memory                                                                                                                                 
16930 root       0 41784 7768 1084 S    1  0.4   0:00.13  6935 root     munin-node                                                                                                                             
   54 root       0     0    0    0 S    0  0.0  22:38.89     2 root     kondemand/0                                                                                                                            
  926 mysql      0  237m 2484  664 S    0  0.1  14:30.06     1 mysql    mysqld                                                                                                                                 
 1692 root       0 1017m  51m  27m S    0  2.7  60:31.46     1 root     mongod                                                                                                                                 
 3284 padmin     0 76400 1032  232 S    0  0.1   0:30.69     1 padmin   memcached                                                                                                                              
16012 padmin     0 19224 1424 1064 R    0  0.1   0:00.82 12115 padmin   top                                                                                                                                    
    1 root       0 23904 1316  644 S    0  0.1   0:00.74     0 root     init                                                                                                                                   
    2 root       0     0    0    0 S    0  0.0   0:00.01     0 root     kthreadd                                                                                                                               
    3 root       0     0    0    0 S    0  0.0   0:00.03     2 root     migration/0                                                                                                                            
    4 root       0     0    0    0 S    0  0.0   0:00.27     2 root     ksoftirqd/0                                                                                                                            
    5 root       0     0    0    0 S    0  0.0   0:00.21     2 root     watchdog/0                                                                                                                             
    6 root       0     0    0    0 S    0  0.0   0:00.03     2 root     migration/1                                                                                                                            
    7 root       0     0    0    0 S    0  0.0   0:00.95     2 root     ksoftirqd/1                                                                                                                            
    8 root       0     0    0    0 S    0  0.0   0:00.15     2 root     watchdog/1                                                                                                                             
    9 root       0     0    0    0 S    0  0.0   1:09.30     2 root     events/0

Как видите, все экземпляры java имеют одинаковый идентификатор ppid. Это легкий случай. Во многих бешеных случаях может быть до 7-10 экземпляров java. Дайте мне знать, если вам нужны другие выходы.

Кстати, каждый раз, когда я вхожу на сервер, я получаю

*** System restart required ***

Является ли причиной так много экземпляров java?

РЕДАКТИРОВАТЬ: $ pstree

init─┬─apache2───5*[apache2]
     ├─atd
     ├─avahi-daemon───avahi-daemon
     ├─console-kit-dae───63*[{console-kit-da}]
     ├─cron
     ├─cupsd
     ├─dbus-daemon
     ├─dnsmasq
     ├─dovecot─┬─2*[dovecot-auth]
     │         ├─3*[imap-login]
     │         └─3*[pop3-login]
     ├─6*[getty]
     ├─java───56*[{java}]
     ├─java───67*[{java}]
     ├─libvirtd───6*[{libvirtd}]
     ├─master─┬─pickup
     │        └─qmgr
     ├─2*[memcached───5*[{memcached}]]
     ├─mongod───76*[{mongod}]
     ├─munin-node
     ├─mysqld───9*[{mysqld}]
     ├─named───4*[{named}]
     ├─nmbd
     ├─postgres───4*[postgres]
     ├─rsyslogd───3*[{rsyslogd}]
     ├─smbd───smbd
     ├─sshd───sshd───sshd───bash───pstree
     ├─udevd───2*[udevd]
     ├─upstart-udev-br
     ├─vsftpd
     └─winbindd───3*[winbindd]

Я не думаю, что они представляют потоки Java, поскольку каждый из них имеет свой PID.

У вас может быть пользователь padmin (или пользователь root, или тот, кто может использовать sudo для этой цели и т. Д.), Чтобы проверить командные строки этих соответствующих процессов Java, используя любой из этих методов (заменив pid соответствующим номером сверху выход - 27132, 7169 и др.):

ps -ef | grep pid

или

cat / proc / pid / cmdline

Таким образом, по крайней мере, вы можете начать выяснять, откуда каждый из них был вызван и что он делает.

1) Трудно сказать, не видя вашего списка процессов, но, скорее всего, вы просто наблюдаете за многими Java потоки, не так много экземпляров / процессов. Java по своей природе очень интенсивно использует потоки, и многие из них - это нормально.

2) Вы обновили свой сервер, и одним из обновлений было обновление ядра. Это требует перезагрузки для использования нового ядра, поэтому Ubuntu просит вас перезагрузить сервер.

Требуемый перезапуск системы, скорее всего, является результатом применения исправления ядра. Для использования нового ядра требуется перезапуск. Это не связано с проблемой java-процесса, но, скорее всего, временно решит проблему.

Поскольку PPID (родительский PID) для процесса Java равен 1, они не являются потоками. Возможно, у вас есть команда в вашем профиле для запуска этого приложения, хотя, поскольку оно запускает пользовательский padmin, это маловероятно. Поиск linux padmin java дает ряд различных возможных приложений, которые могут быть запущены. Команду lsof можно использовать, чтобы попытаться выяснить, откуда они были начаты. Затем вы можете попробовать настроить, какое приложение запущено.

Тот факт, что это процесс Java, мало что говорит вам о реальном приложении; вы хотите увидеть всю командную строку. ps -fp $(pgrep -d, -x java) должен предоставить вам полную командную строку каждого текущего java-процесса (если они являются недолговечными процессами, тогда поиск процесса сначала может потерпеть неудачу, поскольку он может быть завершен к тому времени, когда вы попытаетесь найти его командную строку, поэтому выполнение этого в одной строке является хорошая идея)

«Ps aux | grep java »даст гораздо более точные данные о проблеме.

Но с указанными данными есть одна интересная точка: группа этих программ Java: padmin. Этот пользователь ваш пользователь, верно? Поскольку вы идете «наверху» с этим пользователем.

Вы также используете memcached со своим пользователем. Поэтому я подозреваю, что у вас есть полный экземпляр сервера, работающий с этим пользователем. Может Tomcat? По крайней мере, он использует Java.

В это ВРЕМЯ эти процессы выполняются долгое время, так что я предполагаю, что они являются своего рода внутренними потоками программы.