본문 바로가기

Java/Java

코어 개수 : availableProcessors()

CPU 코어 개수 얻기

System.out.print(Runtime.getRuntime().availableProcessors());

availableProcessors()는 JVM에서 이용가능한 코어 개수를 리턴한다. 내 CPU는 Inter - i7이다. 이 CPU는 코어가 4개이기 때문에 위와 같은 코드를 실행시키면 4가 출력될 것이라고 예상 할 수 있으나 실제로는 8이 출력된다. 이는 Intel이라는 회사가 하이퍼스레딩이라는 기술을 지원 해주기 때문인데, 이것은 물리적 코어 한개당 스레드 2개를 할당해 성능을 높이는 기술이다. 그래서 물리적 코어는 4개이지만 논리적 코어는 8개인 것이다.

참고

stackoverflow : Runtime.getRuntime().availableProcessors()