어떻게 Linux 에서 프로 세 스 의 스 레 드 수 를 통계 합 니까?
2015-9-17 10:29 모음 집: 5
문제: 프로그램 을 실행 하고 있 습 니 다. 실행 할 때 여러 개의 스 레 드 가 파생 됩 니 다.프로그램 이 실 행 될 때 얼마나 많은 스 레 드 가 있 는 지 알 고 싶 습 니 다.Linux 에서 프로 세 스 의 스 레 드 수 를 검사 하 는 가장 쉬 운 방법 은 무엇 입 니까?
리 눅 스 의 모든 프로 세 스 의 스 레 드 수 를 보고 싶다 면 다음 과 같은 몇 가지 방법 이 있 습 니 다.
방법 1: / proc
proc 위조 파일 시스템 은 / proc 디 렉 터 리 에 머 물 러 있 습 니 다. 이것 은 모든 활동 프로 세 스 의 스 레 드 수 를 보 는 가장 간단 한 방법 입 니 다. /proc 디 렉 터 리 는 읽 을 수 있 는 텍스트 파일 형식 으로 출력 되 며, CPU, 인 터 럽 트, 메모리, 디스크 등 기 존 프로 세 스 와 시스템 하드웨어 와 관련 된 정 보 를 제공 합 니 다.
$ cat /proc/<pid>/status
위 명령 은 프로 세 스 상태 (예: sleeping, running), 부모 프로 세 스 PID, UID, GID, 사용 하 는 파일 설명자 의 수, 컨 텍스트 전환 의 수 를 포함 하여 프로 세 스 의 자세 한 정 보 를 표시 합 니 다. 출력 은 프로 세 스 가 만 든 버스 프로 세 스 도 다음 과 같 습 니 다.
Threads: <N>
예 를 들 어 PID 20571 프로 세 스 의 스 레 드 수 를 검사 합 니 다.
$ cat /proc/20571/status
출력 은 이 프로 세 스 가 28 개의 스 레 드 가 있 음 을 나타 낸다.
또는, 다음 과 같이 / proc / task 에서 하위 디 렉 터 리 의 수량 을 간단하게 통계 할 수 있 습 니 다.
$ ls /proc/<pid>/task | wc
프로 세 스에 서 만 든 모든 스 레 드 가
/proc//task
스 레 드 ID 라 는 디 렉 터 리 를 만 듭 니 다. 여기 서 /proc//task
중 디 렉 터 리 의 총 수 는 프로 세 스 의 스 레 드 수 를 표시 합 니 다.방법 2: ps
기능 이 강 한 ps 명령 의 충실 한 사용자 라면 이 명령 은 프로 세 스 ("H" 옵션 으로) 의 스 레 드 수 를 알려 줍 니 다. 다음 명령 은 출력 프로 세 스 의 스 레 드 수 를 알려 줍 니 다. "h" 옵션 은 앞 에 놓 아야 합 니 다.
$ ps hH p <pid> | wc -l
프로 세 스 의 다른 스 레 드 에 소 모 된 하드웨어 자원 (CPU & memory) 을 감시 하려 면 이 튜 토리 얼 을 참조 하 십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.