AIX 는 대부분 LPAR(논리 파티션) 위에서 돈다. 그래서 "CPU 가 몇 개냐"는 물음에 답이 셋이다.
| 층 | 의미 | 성능 산정에 쓰는 값 |
|---|---|---|
| 프레임(물리 서버) | 섀시에 꽂힌 프로세서 칩과 그 안의 코어 | 라이선스 산정 |
| LPAR | 이 파티션에 할당된 프로세서 자원 | 용량 계획 |
| 논리 CPU | SMT 로 나뉜 하드웨어 스레드 | topas 등에 보이는 개수 |
x86 의 lscpu 처럼 한 번에 다 보여 주는 명령이 없다. 층마다 다른 명령으로 확인한다.
lparstat -i 가 가장 정보가 많다.
lparstat -i
Type : Shared-SMT-8
Mode : Uncapped
Entitled Capacity : 1.00
Online Virtual CPUs : 4
Maximum Virtual CPUs : 8
Active Physical CPUs in system : 16
Active CPUs in Pool : 16
읽는 법은 다음과 같다.
Dedicated 면 물리 코어를 전용으로 받은 것이고, Shared 면 공유 프로세서 풀에서 나눠 받는다. 뒤의 SMT-8 이 현재 SMT 모드다.1.00 이면 코어 1개 분량이다. 소수점이 나오는 것은 공유 LPAR 이기 때문이다.Uncapped 모드에서는 풀에 여유가 있을 때 이 수까지 물리 자원을 더 끌어 쓸 수 있다.용량을 말할 때 기준이 되는 값은 Entitled Capacity 이고, 상한은 Online Virtual CPUs 다. 라이선스 산정은 보통 이 둘 중 계약이 정한 쪽을 쓴다.
smtctl
This system is SMT capable.
SMT is currently enabled.
SMT threads per physical processor are 8.
POWER8 이후는 코어당 최대 8 스레드다. 모드를 바꾸려면 다음과 같이 한다. 재부팅 후에도 유지하려면 -w boot 를 준다.
smtctl -m off
smtctl -t 4 -w boot
lsdev -Cc processor
bindprocessor -q
lsdev -Cc processor 는 proc0, proc4, proc8 처럼 SMT 간격으로 건너뛴 번호의 프로세서 장치를 보여 준다. 줄 수가 이 LPAR 에 붙은 프로세서 수다. bindprocessor -q 는 바인딩 가능한 논리 CPU(SMT 스레드) 목록을 준다. 두 값의 비가 곧 SMT 배수다.
프로세서 종류는 장치 속성에서 본다.
lsattr -El proc0
prtconf | grep -i processor
Processor Type: PowerPC_POWER10
Processor Implementation Mode: POWER 10
Processor Version: PV_10
Number Of Processors: 4
Processor Clock Speed: 3000 MHz
prtconf 의 Number Of Processors 는 LPAR 이 보는 프로세서 수이지 프레임의 소켓 수가 아니다.
AIX 는 프로세서 칩(소켓) 수를 직접 보여 주지 않는다. lscfg 에 보이는 proc0, proc1 도 소켓이 아니라 프로세서 장치다. 소켓 수가 필요하면 HMC 에서 확인한다.
lshwres -r proc -m <managed-system> --level sys
프레임 전체의 물리 코어 수만 필요하다면 lparstat -i 의 Active Physical CPUs in system 으로 충분하다.
Active Physical CPUs in system 프레임 전체 물리 코어
│
Entitled Capacity 이 LPAR 이 보장받은 코어 양
│
Online Virtual CPUs 스케줄링 단위(가상 프로세서)
│ × SMT threads per core
논리 CPU topas · vmstat 가 세는 개수
(확인 필요) — lparstat -i 의 출력 필드 이름은 AIX 버전과 LPAR 유형(전용 · 공유)에 따라 조금씩 다르다. 위 예시는 공유 LPAR 기준이며, 실제 장비에서 전체 출력을 한 번 받아 두고 대조하는 편이 안전하다.