모든 HAWQ 세그먼트 인스턴스에서 사용할 수있는 메모리 양과 각 세그먼트에서 사용할 수있는 메모리 양을 구성 할 수 있습니까?HAWQ 메모리를 구성하는 방법은 무엇입니까?
답변
이 내용은 system requirements에서 다룹니다.
Apache Hawq에서 가상 세그먼트는 실행 프로그램의 컨테이너로 사용됩니다. 결과적으로, u 리에서 사용되는 메모리는 가상 세그먼트 수로 제어됩니다. GUC hawq_rm_memory_limit_perseg을 사용하여 각 호스트 (세그먼트 인스턴스)의 전체 메모리 크기를 제어하고 가상 세그먼트의 메모리 크기를 제어 할 수 있습니다. 각 컨테이너에 대해 지정된 memsize (기본값 : 256M)로 사용자가 직접 리 큐어를 만들 수 있습니다.
가상 세그먼트 메모리 사용은 모든 포크 된 QE의 총 메모리를 계산하는 hawq_rm_stmt_vseg_memory에 의해 설정됩니다. 서로 다른 쿼리 문이 동일한 vseg에있을 수 있으므로 hawq_rm_stmt_vseg_memory는 서로 다른 쿼리에서 공유됩니다.
hawq_rm_stmt_vseg_memory는 가상 세그먼트 하나의 메모리 할당량 (크기)이며 기본값은 128MB입니다. 즉, 하나의 가상 세그먼트의 메모리 크기는 128MB이며 하나의 쿼리는 많은 가상 세그먼트를 요청할 수 있습니다.
@Wen Lin, "하나의 쿼리가 많은 가상 세그먼트를 요청할 수 있습니다"라고 언급 했으므로 하나의 가상 세그먼트도 많은 쿼리에서 공유됩니다. 맞습니까? 그러면 모든 공유 쿼리가 기본적으로 128MB의 메모리 할당량을 공유하게됩니까?
@ztao, 가상 세그먼트는 쿼리에 의해 공유되지 않습니다. 하나의 쿼리의 경우 RM에서 가상 세그먼트를 요청하고 완료되면 가상 세그먼트를 RM에 반환합니다.
- 1. 마이크로 컨트롤러에서 기본 메모리를 구성하는 방법은 무엇입니까?
- 2. 4G 이상의 메모리를 사용하도록 모노를 구성하는 방법은 무엇입니까?
- 3. Redhat에서 HAWQ 설치
- 4. "hawq stop -M immediate"와 "hawq stop -M fast"의 차이점은 무엇입니까?
- 5. 서블릿을 구성하는 방법은 무엇입니까?
- 6. webapp을 구성하는 방법은 무엇입니까?
- 7. 프로젝트를 구성하는 방법은 무엇입니까?
- 8. HttpPostedFileBase를 구성하는 방법은 무엇입니까?
- 9. MAVEN을 구성하는 방법은 무엇입니까?
- 10. 시간대를 구성하는 방법은 무엇입니까?
- 11. 모뎀을 구성하는 방법은 무엇입니까?
- 12. 모듈을 구성하는 방법은 무엇입니까?
- 13. Spark + HAWQ Integration (HDP 2.4.2)
- 14. YARN이 HAWQ 마스터 노드를 관리합니까?
- 15. HAWQ 서비스 확인이 실패했습니다. Ambari에서
- 16. 테이블의 메모리를 계산하는 방법은 무엇입니까?
- 17. WT에서 메모리를 정리하는 방법은 무엇입니까?
- 18. struct에 메모리를 할당하는 방법은 무엇입니까?
- 19. 메모리를 올바르게 지우는 방법은 무엇입니까?
- 20. 메모리를 "삭제"하는 방법은 무엇입니까?
- 21. 'PFImageView'로 메모리를 최적화하는 방법은 무엇입니까?
- 22. 커널에 메모리를 할당하는 방법은 무엇입니까?
- 23. websphere로 jbpm을 구성하는 방법은 무엇입니까?
- 24. ngnix-location을 구성하는 방법은 무엇입니까?
- 25. 사양 파일을 구성하는 방법은 무엇입니까?
- 26. QWidgets를 모자이크로 구성하는 방법은 무엇입니까?
- 27. app.use에서 formidable을 구성하는 방법은 무엇입니까?
- 28. GLM을 구성하는 적절한 방법은 무엇입니까
- 29. jaxb setter를 구성하는 방법은 무엇입니까?
- 30. TFS에서 프로젝트를 구성하는 방법은 무엇입니까?
그러나 hawq 코드의 주석을 보았습니다. "hawq_rm_stmt_vseg_memory"는 "하나의 명령문에 대한 하나의 가상 세그먼트의 메모리 할당량"을 참조합니다. 서로 다른 쿼리에서 공유됩니까? 그리고 "hawq_rm_stmt_vseg_memory * 세그먼트 당 총 vitrual 세그먼트 수 * 총 쿼리 문"은 "hawq_rm_memory_limit_perseg"보다 크지 않아야합니까? –
전 hawq_rm_stmt_vseg_memory는 모든 명령문에 대해 하나의 vseg의 메모리 할당량을 의미한다고 생각합니다. 기본적으로 256M입니다. 이론 상으로는, hawq_rm_stmt_vseg_memory * 세그먼트의 각 세그먼트는 hawq_rm_memory_limit_perseg보다 커야합니다. 다른 사람들이 이것을 확인할 수 있습니까? – ztao1987