Como determino qual processo em execução está usando java?

9

Eu estou olhando para a saída 'top' no meu servidor linux. Vejo que o comando 'java' está consumindo muita memória. Como posso usar esse PID etc. para ver qual processo realmente iniciou a jvm?

Além disso, esse processo é realmente o jvm ou apenas algum comando genérico?

Por fim, só quero uma maneira de ver mais informações sobre esse comando / processo, em vez de apenas 'java'.

durden2.0
fonte

Respostas:

12

Você pode usar o comando ps para obter informações estendidas sobre o comando que iniciou o processo:

ps -fp <pid>

Além disso, você pode obter informações de todos os processos java com o ps:

ps -ef | grep java | grep -v grep
scriptmonster
fonte
Excelente. Funciona como um encanto!
durden2.0
3
Apenas para sua informação, também procurei 'top' na página de manual e descobri que usar 'c' alterna entre 'linha de comando' (padrão) e 'nome do programa'. Portanto, no meu caso, ao olhar para 'top', posso clicar em 'c' e ver o nome do aplicativo.
durden2.0
11
Você também pode usar o pstreecomando para obter uma representação mais visual dos relacionamentos filho-pai do processo.
Brian Swift
1

Você pode usar os utilitários jpse jcmdJava para exibir os processos Java em execução. Explore as opções para descobrir mais sobre o que eles podem fornecer.

Muhammad Gelbana
fonte