CPU 시간을 100% 소모하는 Perl 작업을 시작하는 프로세스를 추적할 수 있는 마법 명령이 있습니까? JBoss AS가 설치된 여러 시스템에서 이 문제가 발생했습니다.
답변1
procstat
FreeBSD에서 사용할 수 있습니다 .
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 활용률, 메모리 활용률 및 기타 모든 중요한 정보를 나열하는 멋진 명령입니다.