프로세스가 CPU 시간을 모두 차지하고 있습니다.

프로세스가 CPU 시간을 모두 차지하고 있습니다.

CPU 시간을 100% 소모하는 Perl 작업을 시작하는 프로세스를 추적할 수 있는 마법 명령이 있습니까? JBoss AS가 설치된 여러 시스템에서 이 문제가 발생했습니다.

여기에 이미지 설명을 입력하세요.

답변1

procstatFreeBSD에서 사용할 수 있습니다 .

procstat $PID

예를 들어 프로세스 개요를 제공하기 위해

 PID  PPID  PGID   SID  TSID THR LOGIN    WCHAN     EMUL          COMM        
8898  8894  1977  1977     0   6 tant     usem      FreeBSD ELF64 chrome

PPID는 프로세스를 시작했을 수 있는 상위 프로세스의 ID입니다.

그리고

procstat -f $PID

너는 지나갈 것이다$PID

procstat -c $PID

프로세스에 대한 매개변수를 제공하십시오.

이 과정은 의심스러워 보입니다. /usr/bin/javad프로세스가 실제로 파일을 열었는지 또는 프로그램이 첫 번째 인수를 재정의했는지 확인할 필요가 없습니다 .

답변2

다음을 실행하여 명령에 대한 자세한 정보를 볼 수 있습니다.

ps l 39181

그러면 일반적으로 실행 중인 스크립트의 이름을 포함하는 명령의 인수가 표시됩니다.

머물고 싶다면 보고 싶은 정보 항목을 top눌러 선택하시면 됩니다 . fPPID를 찾으세요. 이는 Perl 프로세스를 생성한 프로세스의 ID입니다.

답변3

ps -fp processid상위 프로세스를 보려면 다음을 수행할 수 있습니다 . ps -fjp pid프로세스의 계층 구조를 제공하는 진행 그룹 ID를 보는 데 사용됩니다 .

편집: 아래 댓글에서 언급했듯이(아직 댓글 권한이 없습니다) 이는 Linux에서만 작동합니다.

답변4

맨 위실행 중인 모든 프로세스, CPU 활용률, 메모리 활용률 및 기타 모든 중요한 정보를 나열하는 멋진 명령입니다.

관련 정보