ONE QUESTION AT A TIME.

천천히 생각하고, 분명하게.

TODAY’S QUESTION594 / 1500
언어·런타임난이도 중하꼬리 질문에서 확장 · 핵심 답변

Go의 G·M·P와 GOMAXPROCS는 무엇을 제한하며 OS 스레드 수의 상한과 왜 다른가요?

꼬리 질문을 독립 문항으로 확장했습니다. 원래 문항에서 맥락 보기 →

잠깐, 답변을 보기 전에
먼저 내 말로 설명해 볼까요?

답변과 점검 포인트 펼치기답변 접기
01

구두 답변

정의를 외우기보다, 원리와 조건을 연결해 설명해 보세요.

G는 고루틴, M은 OS 스레드, P는 Go 코드 실행을 위한 런타임 자원입니다. GOMAXPROCS는 동시에 Go 코드를 실행할 P 수의 설정이며 syscall·cgo 등에 필요한 모든 OS 스레드의 절대 상한은 아닙니다.

채널·네트워크 대기와 CPU 실행을 나누고 runnable G·M 수·block·GC·per-core 사용률을 관찰합니다. 값만 늘리면 CPU·메모리·DB 예산이 늘지는 않습니다. 지원 버전의 컨테이너 CPU 인식 기본값도 확인합니다.

02

득점 포인트

이해가 드러나는 지점을 확인해 보세요.

  • G는 고루틴, M은 OS 스레드, P는 Go 코드 실행을 위한 런타임 자원입니다. GOMAXPROCS는 동시에 Go 코드를 실행할 P 수의 설정이며 syscall·cgo 등에 필요한 모든 OS 스레드의 절대 상한은 아닙니다.
  • 지원 버전의 컨테이너 CPU 인식 기본값도 확인합니다.
03

감점 포인트

놓치기 쉬운 조건과 오해를 짚어 보세요.

  • 다음 핵심 구분을 반대로 설명하거나 성립 조건을 생략한다: G는 고루틴, M은 OS 스레드, P는 Go 코드 실행을 위한 런타임 자원입니다.
04

더 파고들 거리

하나 더 질문하며 이해의 범위를 넓혀 보세요.

득점·감점 포인트는 학습용 자기 점검 기준이며, 특정 회사의 실제 채점표가 아닙니다.

원리부터 공부하고 싶다면

답변을 보충하는 개념·예제·슈도코드를 읽어 보세요.

← 전체 질문 보기