안녕하세요 이번 글에서는 리눅스 시스템에서 CPU 코어들을 확인하고 코어의 갯수를 확인하는 방법에 대해 씁니다.
1. CPU 정보, CPU 코어 전체 확인하기
리눅스 시스템에서 장학된 물리 CPU에 대한 정보와 코어에 관련된 정보들을 확인하려면 dmidecode 명령어 또는 cpuinfo 정보를 활용할 수 있습니다.
현재 PC/서버에 장착된 CPU에 대한 정보를 얻기 위해서 아래와 같은 명령어를 사용할 수 있습니다.
dmidecode -t processor
이 명령어를 사용하면 CPU의 ID와 버전, 세대, Flag들의 정보까지 알 수 있습니다.
위의 이미지에서 'Socket Designation: Proc 1' 이라는 내용을 확인할 수 있는데
이 서버에는 CPU가 2개 장착되어있고 명령어 실행 시 Proc 1과 Proc 2의 정보가 순서대로 나열됩니다.
그렇다면 이 리눅스 시스템에서 활성화된 CPU 코어를 확인하려면 어떤 명령어를 사용할까요?
아래의 명령어를 통해 전체 코어에 대한 정보를 확인할 수 있습니다.
cat /proc/cpuinfo
위의 명령어를 실행하면 코어들에 대한 정보가 나열됩니다.
코어들이 순서대로 나열되므로 제일 마지막에 출력된 코어가 마지막 코어입니다.
31번 코어가 마지막이지만 31개가 아니라 32개의 코어를 가지고 있습니다.
코어 넘버가 0번부터 시작하기 때문에 0~31의 넘버를 가진 32개의 코어 정보를 볼 수 있습니다.
grep -c processor /proc/cpuinfo
위의 명령어를 사용하면 단순하게 코어의 갯수만 확인할 수 있습니다.
그런데 위에서 CPU는 2개인데 어떻게 코어는 32개로 계산이 되는지 알 필요가 있습니다.
이 서버의 CPU 소켓은 2개로 CPU가 2개 까지 꽂히고 하나의 CPU가 8개의 코어를 가집니다.
그리고 각 코어들은 하이퍼쓰레딩(hyperthreading) 이라는 인텔의 기술을 통해서 하나의 코어로 2개의 코어 기능을 할 수 있기 때문에 8개의 물리코어라면 2배인 16개의 가상 코어를 사용할 수 있습니다.
그래서 아래의 계산식으로 32개의 코어가 노출이 되는 것을 확인할 수 있습니다.
시스템의 코어 수 = (물리 CPU 수) * (코어 수) * 2(하이퍼쓰레딩)
본 포스팅의 내용 및 이미지를 무단 전재, 재배포 또는 복사를 금지합니다.
인용 시 출처와 같이 공개해주세요!
도움이 되셨다면 댓글 또는 공감 부탁드립니다!
댓글