본문 바로가기

메모리6

[java] 메모리 사용량 확인 리눅스에서 자바 프로그램의 메모리 사용량을 확인하는 방법은 여러가지가 있습니다. 시스템 전체의 메모리 사용량을 확인할 수도 있고, 프로그램의 메모리 사용량을 확인할 수도 있습니다. 메모리 덤프를 이용하여 메모리가 사용되고 있는 현황을 확인할 수도 있습니다. 시스템의 메모리 사용량 top 시스템 전체의 메모리 사용량 확인 shift + m 으로 메모리 사용량 순으로 정렬 top -p [pid] 로 특정 프로그램의 메모리 사용량 확인 free 시스템 전체의 메모리 사용량 확인 sar 시스템의 메모리 사용량을 주기적으로 확인 자바 프로그램의 메모리 사용량 jmap 메모리 사용확인을 위한 힙덤프 힙덤프를 떠서 분석할 수 있음. pmap 프로그램의 현재 메모리 사용 상태 확인 2021. 1. 10.
[Java] JVM 메모리 구조 및 옵션 JVM의 메모리 구조를 알아보겠습니다. 메모리 공간 메모리 공간은 크게 힙영역과 힙영역이 아닌 공간으로 구분할 수 있습니다. 힙영역은 사용자가 크기를 정할 수 있는 공간입니다. Method : 클래스, 변수, 함수, 정적 변수, 상수 정보 등이 저장되는 영역. 프로그램 전체에서 공유 Stack : 함수 내에서 사용되는 매개변수, 지역변수, 리턴값 등이 저장되는 구역. PC Register: CPU의 Register와 역할이 비슷하고, 현재 수행중인 JVM 명령의 주소값이 저장 Native Method Stack: 네이티브 메소드 호출을 위해 할당되는 구역 Heap : new 명령어로 생성된 객체가 저장되는 영역. GC의 대상이 되는 영역 힙 영역 구조 힙영역은 가비지 콜렉션(GC)의 대상이 되는 영역입니.. 2019. 6. 4.
[hive][tez] TEZ엔진의 메모리 설정 방법 TEZ 엔진을 이용할 때 메모리 부족 오류가 발생하는 곳은 AM과 MR 작업 중에 발생한다. AM은 다음의 설정으로 메모리를 설정한다. // AM의 메모리 set tez.am.resource.memory.mb=2048; // AM이 사용할 힙메모리 사이즈(tez.am.resource.memory.mb의 80%) set tez.am.java.opts=-Xmx1600m; 그리고 MR 작업에서 메모리를 설정하는 방법은 다음과 같다. // tez 작업을 진행하는 컨테이너의 메모리 크기 set hive.tez.container.size=2048; // 컨테이너에서 사용할 수 있는 힙의 메모리 크기 set hive.tez.java.opts=-Xmx1600m; // hive.tez.container.size의 80%.. 2018. 8. 3.
[hadoop] YARN, 맵리듀서 메모리 설정 Yarn의 설정은 다음과 같다. yarn.nodemanager.resource.memory-mb- 노드의 메모리 크기 설정 yarn.nodemanager.resource.cpu-vcores- 노드의 코어 개수 설정 yarn.scheduler.minimum-allocation-mbyarn.scheduler.maximum-allocation-mb- RM이 컨테이너당 할당하는 최소, 최대 메모리 yarn.scheduler.minimum-allocation-vcoresyarn.scheduler.maximum-allocation-vcores- RM이 컨테이너당 할당하는 최소, 최대 코어 매퍼 설정은 다음과 같다 a. mapreduce.map.memory.mbb. mapreduce.map.cpu.vcoresc. m.. 2018. 5. 17.
[oozie] 우지런처 메모리 설정 우지의 액션을 실행하는 우지 런처도 MR 잡으로 실행된다. 우지 런처의 메모리를 설정하는 옵션은 다음을 설정하면 된다. oozie.launcher.mapreduce.map.memory.mb=768oozie.launcher.mapreduce.map.java.opts=-Xmx512moozie.launcher.yarn.app.mapreduce.am.resource.mb=1024oozie.launcher.yarn.app.mapreduce.am.command-opts=-Xmx768m http://www.openkb.info/2016/07/memory-allocation-for-oozie-launcher-job.html 2018. 4. 19.
[spark] 스파크 컨테이너 메모리 오류시 처리 방안 스파크 실행중 메모리 부족으로 다음과 같은 오류가 발생하는 경우가 있다. Diagnostics: Container [pid=1,containerID=container_000001] is running beyond physical memory limits. Current usage: 1.4 GB of 1.4 GB physical memory used; 3.1 GB of 13.8 GB virtual memory used. Killing container. 이런 경우 다음과 같이 드라이버와 executor의 메모리 설정을 해주면 해결할 수 있다. spark.yarn.am.memory=3072Mspark.driver.memory=3072Mspark.executor.memory=4736Mspark.executor.. 2018. 2. 13.