14강 / 20강
내 서버 스펙 읽기 — 명세서를 손에 쥐다
lscpu · free · lsblk · dmidecode 로 부품표 만들기
1부와 2부에서 컴퓨터 구조를 배웠습니다. 이제 그 지식을 실제 서버 한 대에 씁니다.
관리자가 새 서버를 받으면 가장 먼저 할 일은 부품표를 만드는 것입니다. 왜냐하면 장애가 났을 때 "이 서버 CPU가 몇 개였지?"를 그때 찾으면 이미 늦거든요.
다섯 줄이면 충분합니다
서버 스펙의 90%는 이 다섯 명령으로 나옵니다.
| 명령 | 알려 주는 것 |
|---|---|
lscpu | CPU 모델·코어·스레드·캐시·NUMA |
free -h | 메모리와 스왑 |
lsblk | 디스크 구성과 마운트 |
lspci | 랜카드·NVMe 등 꽂혀 있는 카드 |
sudo dmidecode | 메인보드·BIOS·DIMM 슬롯 (메모리 증설 계획용) |
CPU 명세를 통째로 봅니다.
bash
브라우저에서 실행
여기서 관리자가 실제로 쓰는 줄은 이렇습니다.
- Model name — 세대와 등급. 클라우드 견적 비교의 기준
- CPU(s) — 논리 CPU. 워커 수 계산의 출발점
- Thread(s) per core / Core(s) per socket — 진짜 코어가 몇 개인지
- L3 — 여럿이 나눠 쓰는 캐시. 워커를 몇 개까지 늘려도 되나의 힌트
- NUMA node(s) — 2 이상이면 메모리 배치를 신경 써야 함
DIMM 슬롯 4개 중 2개가 비어 있으면 증설이 가능합니다.
bash
브라우저에서 실행
80%를 넘긴 파티션이 있으면 지금 조치해야 합니다.
bash
브라우저에서 실행
NUMA 노드가 1개면 메모리 배치를 신경 쓸 필요가 없습니다.
bash
브라우저에서 실행
부품표를 파일로 남깁시다
실무에서는 이걸 스크립트 하나로 만들어 두고, 서버를 받을 때마다 돌립니다.
만든 파일은 나중에 nano 로 열어 메모를 덧붙일 수 있습니다.
bash
브라우저에서 실행
스펙에서 바로 읽어 내야 할 세 가지 숫자
부품표를 만들었으면 이제 해석입니다. 관리자는 이 세 숫자를 머릿속에 넣어 둡니다.
스펙 숫자를 운영 결정으로 바꾸는 계산.
Python
브라우저에서 실행
🤔 확인 문제
lscpu 결과에 CPU(s): 12, Thread(s) per core: 2, Core(s) per socket: 6, Socket(s): 1 이라고 나왔습니다. 진짜 물리 코어는 몇 개인가요?해설 1소켓 × 6코어 = 6개이고, 하이퍼스레딩으로 각 코어가 2갈래로 보여 논리 CPU가 12개입니다. 계산량이 많은 작업의 병렬도는 6에 맞추고, 기다림이 많은 웹 워커는 12까지도 의미가 있어요.
🤔 확인 문제
메모리를 증설하려고
dmidecode -t memory 를 봤더니 8GB 모듈 2개가 꽂혀 있고 슬롯 2개가 비어 있습니다. 가장 좋은 선택은?해설 2채널 구성이라 짝수로 채워야 대역폭이 유지됩니다. 그리고 속도가 다른 모듈을 섞으면 전체가 느린 쪽에 맞춰집니다. 3600을 꽂아도 기존 3200 때문에 3200으로 돌아요 — 돈만 더 쓰는 셈입니다.