total_memory_profiler_* 서버 설정

total_memory_profiler_* 서버 설정

이 설정들은 ClickHouse 서버의 전체 메모리 프로파일러와 메모리 트래커 샘플링 동작을 제어해요. 메모리 할당 스택 추적을 수집해 성능 및 메모리 문제를 진단하는 데 사용해요. ClickHouse 소스 코드에서 자동으로 생성된 참조 문서예요.

출처: 문서

본문

이 설정들은 ClickHouse 서버를 구성하며 ClickHouse 소스 코드에서 자동으로 생성돼요.

total_memory_profiler_sample_max_allocation_size

지정한 값보다 작거나 같은 크기의 랜덤 할당을 total_memory_profiler_sample_probability와 같은 확률로 수집해요. 0이면 비활성화돼요. 이 임계값이 예상대로 작동하게 하려면 max_untracked_memory0으로 설정하고 싶을 수도 있어요.

total_memory_profiler_sample_min_allocation_size

지정한 값보다 크거나 같은 크기의 랜덤 할당을 total_memory_profiler_sample_probability와 같은 확률로 수집해요. 0이면 비활성화돼요. 이 임계값이 예상대로 작동하게 하려면 max_untracked_memory0으로 설정하고 싶을 수도 있어요.

total_memory_profiler_step

서버 메모리 사용량이 매 다음 단계(바이트 수)보다 커질 때마다 메모리 프로파일러가 할당 스택 추적을 수집해요. 0이면 메모리 프로파일러를 비활성화해요. 수 메가바이트보다 낮은 값은 서버 속도를 느리게 해요.

total_memory_tracker_sample_probability

랜덤 할당과 해제(de-allocation)를 수집해 지정한 확률로 trace_typeMemorySamplesystem.trace_log 시스템 테이블에 기록해요. 확률은 할당 크기와 관계없이 모든 할당·해제에 적용돼요. 샘플링은 추적되지 않는(untracked) 메모리 양이 추적되지 않는 메모리 한도(기본값 4 MiB)를 초과할 때만 발생한다는 점을 참고해요. total_memory_profiler_step을 낮추면 이 한도도 낮출 수 있어요. 더 세밀한 샘플링을 위해 total_memory_profiler_step1로 설정할 수도 있어요.

가능한 값:

  • 양의 double.
  • 0system.trace_log 시스템 테이블에 랜덤 할당·해제 기록이 비활성화돼요.

더 알아보기 (Learn more)