들어가며
Linux 및 Mac 환경에서 CPU, Memory, Storage를 조회해볼 수 있는 명령어를 정리해보았습니다.
MAC
1. CPU
1. CPU 모델 확인
sysctl -a | grep machdep.cpu.brand_string
-> 저는 Apple M4 Pro 칩을 사용하고 있습니다.
2. CPU 아키텍처 확인
uname -a
→ arm64는 ARM 계열 아키텍처로, 전력 효율이 높고 모바일 및 최신 Mac 환경에서 주로 사용
3. CPU 코어 개수
sysctl -n hw.ncpu

CPU 코어 : 동시에 작업을 처리하는 단위.
개수가 많을수록 여러 작업 병렬로 처리할 수 있어 멀티태스킹 성능 향상
4. CPU 상세 정보
system_profiler SPHardwareDataType

-
Performance Cores(성능 코어) : 8 - 고성능 작업 처리
-
Efficiency Cores(효율 코어) : 4 - 전력 소모를 줄이면서 가벼운 작업 처리
→ macOS는 작업 종류에 따라 자동으로 코어를 배분하여 효율적으로 처리함
-
UUID(Universally Unique Identifier) : 시스템이나 장치를 고유하게 식별하기 위한 전 세계적으로 유일한 식별자
2. Memory
1. 메모리 상태(가상 메모리) 확인
vm_stat

- 메모리를 Page 단위로 관리하는 가상 메모리 정보를 보여줌
3. 스토리지
df -h

Linux
1. CPU
lscpu

- Architecture : aarch64(ARM아키텍처 64비트 실행상태) = ARM64
- CPU(s) : 2 = Socket (1) x Core(s) per socket (2) x Thread(s) per core (1)
- On-line CPU(s) : 0,1 - 현재 온라인 상태에 있는 CPU 리스트
- Thread(s) per core : 1 -하나의 코어에서 동시에 실행 가능한 스레드 수
- Core(s) per socket : 2 -코어 개수
- BIOS(Basic Input/Output System) : 전원 켤 때 가장 먼저 실행되는 펌웨어
- Cache : 메모리에서 데이터 가져오는 횟수를 줄여 CPU 처리 속도 향상(CPU와 메모리 사이의 중간 저장소 역할)
- L1d : L1 Data Cache
- L1i : L1 Instruction Cache

2. Memory
free -h

- total : 전체 Memory 용량
- used : 현재 사용 중인 Memory
- free : 비어있는 Memory
- shared : 여러 프로세스가 공유해서 쓰는 Memory
- buffer/cache : 캐시 + 버퍼 Memory (현재 캐시 메모리에서 버퍼링 된 사용량)
- available : 사용 가능한 Memory(free + cache)
3. storage
1. linux block device(블럭 장치) 목록 확인
lsblk

- NAME : 연결된 디바이스명
- MAJ:MIN : Major, Minor 장치 번호
- RM(Removal) : 고정식 0, 이동식 1
- RO(Read-Only) : 읽기 쓰기 0, 읽기 전용 1
- TYPE : 장치 타입(disk, loop, part 등)
- MOUNTPOINTS : 마운트 위치
왜 Mount?
→ 디스크를 연결하면 장치는 인식되지만, 실제로 사용하려면 파일 시스템에 연결(mount)해야 함
→ 리눅스는 모든 저장장치를 하나의 트리 구조(/)로 관리
2. 파일 시스템 디스크 사용량
df -h

마무리
지금까지 Linux 환경과 macOS 환경에서 CPU, Memory, Storage 관련 정보를 확인할 수 있는 명령어 몇 가지를 살펴보았습니다.