기본 메모리 설정 및 변경 방법
CLC Workbench 에서 사용할 수 있는 메모리 양은 소프트웨어 설치 중에 처음에 설정됩니다. Workbench의 경우 권장되는 기본 메모리 양은 사용 가능한 물리적 메모리의 50% 또는 50GB 중 작은 값입니다. 설정을 기본 수준으로 두는 것이 좋습니다.
Workbench에서 이 설정을 변경하는 방법은 아래에 설명되어 있습니다.
Workbench JVM에 대한 메모리 설정 변경
메모리 제한은 설정 후 숫자 값과 단위를 부여하여 속성 파일에서 구성됩니다 -Xmx
. 예를 들어 다음과 같을 수 있습니다.
-Xmx8000m
8000m은 Workbench Java 프로세스가 사용할 수 있는 최대 메모리 양이 8000Mb임을 나타냅니다.
새 메모리 제한이 구성된 경우 다음에 Workbench가 시작될 때 적용됩니다.
관련 속성 파일의 위치는 사용 중인 운영 체제에 따라 다릅니다.
운영 체제에 따른 속성 파일의 위치는 아래 링크를 참조해주시길 바랍니다.
https://resources.qiagenbioinformatics.com/manuals/workbenchdeployment/current/index.php?manual=Setting_amount_memory_available_JVM.html
왜 50%만?
Workbench Java 프로세스가 사용해야 하는 최대 메모리 양을 지정하는 기본 설정은 공간이 다른 시스템 작업에 사용 가능해야 하고 특정 Workbench 도구에는 Binary 단계(즉, 일부로 실행되지 않는 단계)가 있다는 사실을 반영합니다. 이러한 도구의 이진 단계는Workbench 프로세스 자체에서 사용하는 것 이외의 메모리를 사용하므로 vmoptions 파일의 메모리 설정에 영향을 받지 않습니다. 이 프로필을 사용하는 도구에는 읽기 매핑 단계(예: Read mapping, RNA seq 분석, small RNA 분석 등) 및 로컬 BLAST 검색이 포함된 새로운 어셈블리 및 분석이 포함됩니다.
왜 50GB만?
50GB 제한은 Garbage Collecter(GC)로 인한 일시 중지를 방지하기 위한 것입니다. 위에서 언급한 것처럼 외부 Binary를 위한 여유 메모리를 보장하는 것 외에도 JVM이 Garbage Collecter(GC) 프로세스를 실행하는 데 너무 많은 시간을 소비하지 않도록 최대 Heap 공간에 대한 권장 제한이 있습니다. GC는 현재 사용 중인 Heap을 스캔하고 더 이상 사용하지 않는 콘텐츠를 제거하여 메모리를 확보하는 JVM의 메모리 처리 하위 시스템입니다. 최대 Heap이 클수록 Heap을 통한 각 검사가 더 오래 걸립니다. JVM은 GC를 실행하는 동안 다른 모든 활동을 일시 중단해야 합니다. 이러한 일시 중단은 밀리초 에서 몇 초 사이이며 일반적으로 눈에 띄지 않습니다.
JVM의 GC 하위 시스템과 함께 CLC Workbench는 정교한 Caching 시스템을 활용하여 불필요한 데이터를 메모리에서 임시 Disk storage로 이동합니다. 이 Caching 시스템의 결과는 50GB보다 큰 Java Heap 공간에서는 눈에 띄는 성능 향상이 없지만 GC 일시 중지가 더 눈에 띄게 될 수 있음을 의미합니다.