본문 바로가기

Memory9

[yarn] InvalidResourceRequestException: Invalid resource request, requested memory < 0, or requested memory > max configured, requestedMemory=-1, maxMemory=102400 에러 하둡에서 mapreduce를 이용해서 작업을 진행할 때 다음과 같은 오류가 발생하면서 작업이 진행되지 않을 때가 있습니다. 2022-11-07 17:55:58,250 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Before Scheduling: PendingReds:0 ScheduledMaps:12 ScheduledReds:0 AssignedMaps:0 AssignedReds:0 CompletedMaps:0 CompletedReds:0 ContAlloc:0 ContRel:0 HostLocal:0 RackLocal:0 2022-11-07 17:55:58,270 ERROR [RMCommun.. 2022. 11. 9.
[hive] hive on spark 작업 중 create Spark client due to invalid resource request: Required executor memory (9671), overhead (1706 MB), and PySpark memory (0 MB) is above the max threshold 오류 하이브에서 작업 엔진을 이용하는 중에 스파크 익스큐터의 메모리가 부족하면 이런 오류가 발생할 수 있습니다. 하이브 설정에서 스파크 익스큐터의 메모리를 설정하면 됩니다. 이 경우 스파크 익스큐터의 메모리가 9671로 설정되어 있어서 부족하여 오류가 발생합니다. 따라서 스파크 드라이버와 익스큐터의 메모리를 줄여주면 됩니다. 또는 yarn 설정에서 컨테이너에 메모리를 설정할 수 있는 메모리를 늘려주면 됩니다. Launching Job 1 out of 1 In order to change the average load for a reducer (in bytes): set hive.exec.reducers.bytes.per.reducer= In order to limit the maximum number of r.. 2021. 5. 30.
[java] 자바 VM의 최대 메모리 사용량 확인 방법 자바 vm의 힙사이즈를 설정하는 Xmx 옵션이 여러개 설정되면 가장 마지막의 옵션이 설정됩니다. 다음의 코드는 자바 VM의 최대 메모리 사용량을 출력하는 프로그램입니다. 여기에 VM 옵션을 설정한 결과가 다음과 같습니다. -Xmx2048m Max mem=1820m -Xmx2048m -Xmx4096m Max mem=3641m -Xmx4096m -Xmx2048m Max mem=1820m -Xmx4096m Max mem=3641m 2021. 2. 16.
[java] JVM의 메모리가 Xmx 설정보다 많이 먹는 이유 자바 응용프로그램을 실행하는 중에 Xmx를 4G로 설정했는데 실제 메모리는 7G를 먹고 있어서 원인을 확인해 보았습니다. Xmx는 힙의 최대 메모리를 설정하는 명령입니다. JVM은 힙외에 다양한 요소들로 구성되어 있고 이 부분이 메모리를 사용합니다. # Xmx: 힙의 최대 메모리 사이즈 # MaxPermSize: Permanent Size 최대 메모리 # Xss: 스레드에 할당되는 Stack 사이즈 Max memory = [-Xmx] + [-XX:MaxPermSize] + number_of_threads * [-Xss] 힙영영외 나머지 영역에서 메모리가 필요하여 사용메모리가 늘어납니다. GC: 가비지 수집을 위한 메모리. 사용 중인 개체의 추적을 위한 그래프 생성. G1GC는 더 많은 메모리를 사용합니다.. 2021. 2. 6.
[리눅스] 시스템의 CPU, 메모리 사용량 확인 CLI 환경에서 현재 사용중인 시스템의 CPU와 메모리 사용량을 알아보겠습니다. CPU 사용량 CPU 사용량을 top 명령으로 확인하는 방법을 알아보겠습니다. top 명령을 실행하면 아래와 같이 시스템의 전체 정보와 현재 실행 중인 프로세스의 정보를 확인할 수 있습니다. $ top top - 02:18:58 up 208 days, 15:21, 2 users, load average: 0.04, 0.08, 0.08 Tasks: 209 total, 1 running, 138 sleeping, 0 stopped, 0 zombie Cpu(s): 0.1%us, 0.0%sy, 0.0%ni, 99.8%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 15837320k total, 12287800.. 2020. 6. 11.
[개념] 메모리 누수(Memory Leak) 현상 프로그래밍에서 메모리 누수현상(Memory Leak)은 프로그램이 필요하지 않은 메모리를 계속 점유하고 있는 현상입니다. 자바의 메모리 누수 자바에서 메모리 누수는 더이상 사용하지 않는 객체가 가비지 컬렉션(GC)에 의해서 회수되지 않고 계속 누적되는 현상입니다. Old 영역에 누적된 객체로 인해서 메이저 GC가 빈번하게 발생하게 되고, 프로그램의 응답속도가 늦어지다 결국 OOM(OutOfMemory) 오류로 프로그램이 종료됩니다. 주로 빈번한 전역변수의 선언이나, 리스트나 해쉬맵 같은 콜렉션에 저장한 객체를 해제하지 않고 계속 유지하게 되면서 주로 발생합니다. 다음의 dzone 기사를 보면 Java 에서 메모리릭이 일어는 경우를 5가지 예를 들어서 코드와 함께 설명하고 있습니다. https://dzon.. 2019. 7. 2.
[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.
[hive] tez 실행중 메모리 오류 발생 하이브에서 tez 엔진을 이용하여 작업중 다음과 같은 오류가 발생하는 경우이는 tez의 AM 기본메모리가 1G로 설정되어서 발생하는 오류이다. 기본메모리 이상으로 메모리를 설정하여 진행하면 된다. FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.tez.TezTask. Application application_*** failed 2 times due to AM Container for appattempt_*** exited with exitCode: - ***Current usage: 1.1 GB of 1 GB physical memory used;*** 다음의 옵션을 이용하여 AM의 메모리를 늘려서 처리하면 오류가 해.. 2017. 9. 20.
[python][xlswriter] xlsxwriter 의 메모리 점유해제를 위한 constant_memory 모드 설정 @xlsxwriter 사용시 대용량 데이터를 이용할 경우 주의할 점 xlsxwrite 는 파일을 생성할 때 worksheet 을 이용하여 write 한 데이터를 메모리에 저장한다. 입력한 데이터를 이용하여 데이터를 조작할 때 유용하게 이용하기 위해 사용하고 있는데 이렇게 되면 모든 데이터가 메모리에 저장되기 때문에 대용량 데이터를 쓸때 메모리가 급격하게 늘어나는 것을 확인할 수 있다. 8만 라인을 쓰는데 500G 정도의 메모리를 이용하는 것을 확인하였다. 이로 인해 파이선이 메모리 오류로 죽어 버리는 경우가 발생하였다. OSError: [Errno 12] Cannot allocate memory 이를 방지하기 위해서 다음과 같이 선언하면 된다. workbook = xlsxwriter.Workbook(fi.. 2015. 2. 4.