Linux에서 너무 많은 스레드로 인해 발생하는 성능 문제의 증거를 찾는 방법

Linux에서 너무 많은 스레드로 인해 발생하는 성능 문제의 증거를 찾는 방법

우리는 일괄 작업을 제출하는 많은 Java 프로세스를 실행하는 16개의 CPU 코어가 있는 RHEL 5 서버를 보유하고 있습니다. 각 Java 프로세스에는 이러한 작업을 처리하기 위한 약 80개의 스레드가 있습니다. 현재 서버는 일괄 처리 중에 과부하 상태이며 평균 로드는 50~60 사이입니다. CPU가 초당 최대 60,000번의 컨텍스트 전환을 수행하는 것을 관찰했습니다.

Java 스레드 수를 줄이면 컨텍스트 전환 수가 줄어들고 처리 속도가 빨라질 수 있다고 생각합니다.

저는 시스템 관리자이고 운영 체제에만 액세스할 수 있고 실행 코드에는 액세스할 수 없습니다.

운영 체제의 관점에서 이것이 사실일 수 있다는 증거를 어떻게 수집할 수 있습니까? 이러한 대기 스레드로 인해 발생하는 지연을 수량화할 수 있습니까?

관련 정보