SNR#4161 네이티브 힙 반환 주기 기본값 30초로 단축

버전: 4.0.2609.0

JDK 21 이상에서 적용되는 네이티브 힙 반환 주기(TRIM_NATIVE_HEAP_INTERVAL)의 기본값을 300초(300000)에서 30초(30000)로 줄였습니다. 사용을 마친 네이티브 메모리가 운영체제로 더 빨리 반환됩니다.

JDK 21 이상으로 기동하면 JVM 옵션 -XX:TrimNativeHeapInterval이 지정됩니다. 이 옵션은 JVM이 확보해 두었다가 더 이상 사용하지 않는 네이티브 힙 영역을 주기적으로 운영체제에 돌려주도록 하는 설정으로, 지금까지 기본값이 300초였습니다. 반환 주기가 길면 대량 색인이나 대용량 쿼리처럼 순간적으로 네이티브 메모리를 많이 사용하는 작업이 끝난 뒤에도 프로세스가 점유한 메모리가 최대 5분 동안 그대로 남아 있습니다. 메모리 여유가 빠듯한 장비에서는 이 잔여 점유 때문에 실제 사용량보다 메모리가 부족해 보이거나, 같은 장비의 다른 프로세스와 경합하는 상황이 발생할 수 있었습니다.

기본값을 30초로 낮춰 반환 주기를 10배 앞당겼습니다. 작업이 끝나면 프로세스의 메모리 점유량이 그만큼 빨리 내려갑니다. 실제로 사용하는 메모리의 양이나 처리 성능 자체가 달라지는 변경은 아닙니다. 새 기본값은 소나와 센트리 구동 스크립트에 모두 적용됩니다.

반환 주기를 조정하려면 logpresso.conf(런처) 또는 config.sh에서 TRIM_NATIVE_HEAP_INTERVAL에 원하는 밀리초 값을 지정합니다.

TRIM_NATIVE_HEAP_INTERVAL="30000"

영향 범위 이 설정은 JDK 21 이상에서만 적용되므로, 그보다 낮은 자바 버전으로 기동하는 환경에서는 달라지는 점이 없습니다. 또한 logpresso.confconfig.shTRIM_NATIVE_HEAP_INTERVAL 값을 직접 지정해 둔 환경은 기존 값이 그대로 유지됩니다. 이런 환경에서 새 기본값을 적용하려면 값을 30000으로 변경하십시오.