본문으로 건너뛰기

태그

#GC 3편

Go · 개념 정리

Go sync.Pool·버퍼 재사용Put 이후엔 Bytes()도 남의 것이다

앞 글에서 GOGC와 GOMEMLIMIT을 바꾸는 동안 할당 누계 256MiB는 그대로였다. 이 숫자를 줄이는 방법 중 하나가 짧게 쓰고 버리는 버퍼를 sync.Pool로 다시 쓰는 것이다.

Go · 개념 정리

Go GOMEMLIMIT·GOGC힙 800MB인데 OOMKilled가 나는 이유

컨테이너 limit이 1GB인데 힙 800MB에서 OOMKilled가 났다. GC가 있는 언어인데 왜 메모리가 넘쳤을까. GC는 살아 있는 힙의 비율로 돌고, 컨테이너는 절대값으로 프로세스를 죽인다.

Go · 개념 정리

정적 타입·컴파일 언어가 런타임 성능에 미치는 영향 (Go 기준 정리)

컴파일 언어와 정적 타입이 런타임에 어떤 이득으로 바뀌는지 Go를 기준으로 따라갔다. 메모리 레이아웃, 컴파일러 최적화, escape analysis, GC와 스케줄러까지 도구로 직접 확인한다.

esc

최근 글

↑↓ 이동↵ 열기검색 페이지에서 보기 ›