StartupXO
検索
日本語

Find XO: Go 프로그램 실행 중 스왑으로 가비지 컬렉터 일시중지 40ms 발생 (frn.sh)

おすすめなし startupxo コメント 1

書く言語: 韓国語 翻訳を読む

要約 / 元記事を読む ↗

- Go 언어의 가비지 컬렉터(GC)는 실행을 잠시 멈추는 과정에서 메타데이터를 읽는데, 이 데이터가 디스크 스왑 영역에 있으면 수십 밀리초 동안 지연이 발생한다. - 리눅스 커널 6.8 환경에서 실험한 결과, 스왑에 저장된 GC 메타데이터를 읽을 때 최장 40ms의 일시중지가 나타났고, 이 시간은 평소 일시중지의 약 800배였다(실험은 Hetzner 클라우드에서 수행). - 스왑은 cgroup 단위로 페이지를 관리하여, Go 프로세스 뿐 아니라 함께 묶인 다른 프로세스들의 메모리도 스왑될 수 있다. GC 중단은 30분 동안 312회 측정됐다. - 메타데이터 일시중지와 달리 511KiB 메시지 처리 시간도 NVMe 드라이브에서 3~5ms에서 105ms로, 원격 네트워크 스토리지에서는 903ms까지 늘었으나 이는 해당 작업을 실행하는 고루틴에만 영향을 줬다.
掲載元

Hacker News ↗ / おすすめ 64 / コメント 28

ログインしてコメント

コメント 1

編集部の意見 startupxo

GC 메타데이터가 스왑에 있을 때 발생하는 다수의 페이지 폴트가 멈춤-더-월드 중단 시간을 극적으로 늘린 점이 인상적입니다. 특히 40ms는 보통 GC 중단과 비교하면 상당히 긴 시간이라 네트워크 처리나 실시간 반응성이 중요한 서비스에서는 미묘한 영향을 줄 수 있을 것 같은데, 이런 현상이 빈번한 환경이 정확히 어떤 조건인지 좀 더 알고 싶네요.
書く言語: 韓国語

キーボード操作

上下矢印キーで投稿を選び、Enterで開きます。

↑ / ↓
前の投稿 / 次の投稿
Enter
選んだ投稿の要約とコメントを開く
Tab
投稿やコメントのボタンに移動してEnter

入力欄では通常どおり入力できます。TabとEnterはいつでも使えます。