어떤 프로세스가 너무 많은 스레드를 분기했는지 확인

어떤 프로세스가 너무 많은 스레드를 분기했는지 확인

Linux 설치에 특정 시간에 시스템에서 허용하는 최대 허용 스레드/프로세스 수를 초과하는 프로세스가 있습니다. 나는 ps -elfT | wc -l이것을 두 번 확인 하여 발견했습니다.

하지만 이 급증의 원인이 정확히 무엇인지는 모르겠습니다.
의 출력에는 ps -elfT많은 정보가 있지만 포크에서 일종의 "난독화"를 수행하고 혼란을 일으키는 하위 프로세스가 있는지 쉽게 이해할 수 없습니다.

어떻게 알아낼 수 있나요?

예: ps -elfT | cut -d' ' -f3 | sort |uniq당시 실행 중인 프로세스를 알려주십시오. 각 항목이 총계에 얼마나 기여하는지 확인하기 위해 개수를 추가하려면 어떻게 해야 합니까?

답변1

ps -eo nlwp,pid,args --sort nlwp

스레드 수를 기준으로 정렬된 프로세스 목록이 표시됩니다.

하향식 보기의 경우 언제든지 다음을 수행할 수 있습니다.

watch -n 1 'ps -eo nlwp,pid,args --sort -nlwp | head'

아니면 당신은 사용할 수 있습니다 top...

  • f표시할 필드를 선택 하려면 누릅니다 .
  • nTH(스레드 수)를 찾아 d누릅니다.전시하다그리고 s그것을 만들어유형주문하다
  • , , 및 를 사용하여 표시 위치를 조정할 수 있습니다 .
  • q반품 처리 목록
  • H모든 스레드를 보려면 을 누르세요.
  • d지연을 조정합니다.
  • ?도움을 요청.

관련 정보