0

App Engine에 webapp를 배포하고 싶습니다. 이 webapp에는 Google Dataflow 작업을 시작하는 서블릿이 여러 개 있습니다.Google App Engine에 webapp를 배포하는 동안 java가 oom-killer를 호출했습니다.

로컬로 내 webapp (mvn jetty : run)을 실행하고 내 서블릿을 호출하는 데이터 흐름 작업을 시작하는 데 아무런 문제가 없습니다. 하지만 App Engine에 webapp를 배포하는 데 어려움을 겪고 있습니다.

오류 메시지는 다음과 같습니다

A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.506921] java invoked oom-killer: gfp_mask=0xd0, order=0, oom_score_adj=0 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.514328] java cpuset=b888170c5457fc14d6375c3a890ae140db7e7c0103fc3f400fed0177bce46b2c mems_allowed=0 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.524285] CPU: 0 PID: 4159 Comm: java Tainted: G   C 3.16.0-4-amd64 #1 Debian 3.16.39-1 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.533382] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.542888] 0000000000000000 ffffffff81514c11 ffff88003cd263d0 ffff88002ee41400 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.550958] ffffffff815127e9 ffff88003cd268e8 0000000100000000 ffff88003d5d4800 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.558957] ffff88003cd263d0 ffff88003fc12f40 ffff88003c76b080 ffff88003d5d4800 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.567115] Call Trace: 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.569688] [<ffffffff81514c11>] ? dump_stack+0x5d/0x78 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.575112] [<ffffffff815127e9>] ? dump_header+0x76/0x1e8 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.580812] [<ffffffff8114243d>] ? find_lock_task_mm+0x3d/0x90 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.586929] [<ffffffff8114287d>] ? oom_kill_process+0x21d/0x370 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.593048] [<ffffffff8114243d>] ? find_lock_task_mm+0x3d/0x90 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.599254] [<ffffffff811a292a>] ? mem_cgroup_oom_synchronize+0x52a/0x590 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.606417] [<ffffffff811a1eb0>] ? mem_cgroup_try_charge_mm+0xa0/0xa0 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.613333] [<ffffffff81143030>] ? pagefault_out_of_memory+0x10/0x80 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.619886] [<ffffffff81058515>] ? __do_page_fault+0x3c5/0x4f0 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.626010] [<ffffffff81173bbf>] ? mprotect_fixup+0x14f/0x270 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.631985] [<ffffffff8151cde8>] ? page_fault+0x28/0x30 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.637757] Task in /b888170c5457fc14d6375c3a890ae140db7e7c0103fc3f400fed0177bce46b2c killed as a result of limit of /b888170c5457fc14d6375c3a890ae140db7e7c0103fc3f400fed0177bce46b2c 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.654851] memory: usage 629760kB, limit 629760kB, failcnt 7625 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.660978] memory+swap: usage 0kB, limit 18014398509481983kB, failcnt 0 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.667813] kmem: usage 0kB, limit 18014398509481983kB, failcnt 0 
A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.674120] Memory cgroup stats for /b888170c5457fc14d6375c3a890ae140db7e7c0103fc3f400fed0177bce46b2c: cache:24KB rss:629736KB rss_huge:0KB mapped_file:0KB writeback:0KB inactive_anon:0KB active_anon:629760KB inactive_file:0KB active_file:0KB unevictable:0KB 
A Feb 27 19:16:07 aef-default-version20-xpjd kernel: [ 50.561039] [ pid ] uid tgid total_vm  rss nr_ptes swapents oom_score_adj name 
A Feb 27 19:16:07 aef-default-version20-xpjd kernel: [ 50.569102] [ 3912] 999 3912 746739 158540  567  0    0 java 
A Feb 27 19:16:07 aef-default-version20-xpjd kernel: [ 50.577122] Memory cgroup out of memory: Kill process 3912 (java) score 1010 or sacrifice child 
A Feb 27 19:16:07 aef-default-version20-xpjd kernel: [ 50.585961] Killed process 3912 (java) total-vm:2986956kB, anon-rss:627524kB, file-rss:6636kB 

문제는 메모리의 한계에 아마 인 (?) :

A Feb 28 09:26:05 aef-default-version22-rh34 kernel: [ 47.654851] memory: usage 629760kB, limit 629760kB, failcnt 7625 

당신은 어느 메모리 아십니까? 629760kB 이상의 메모리를 채우는 데이터 흐름 파이프 라인을 실행하는 데 필요한 모든 종속성을 포함하고있는 내 war 파일입니까? 보고 싶은 아이디어가 있습니까? 앱이 기본 0.6 GB 또는 메모리보다 더 필요 같은

답변

1

예, 보이는, 당신은 당신의 Resource settings에 더 많은 메모리를 구성 할 필요가 : GB의

memory_gb

RAM을. 응용 프로그램에 대해 요청 된 메모리입니다. 각 CPU 코어 에는 0.9 ~ 6.5GB의 총 메모리가 필요하며 일부 프로세스의 오버 헤드에는 ~ 0.4 GB가 포함됩니다 (변경 될 수 있음). 하려면 요청 된 메모리를 계산하십시오. memory_gb = NUMBER_CPU_CORES * [0.9 - 6.5] - 0.4. 위의 예제에서 2 코어를 지정한 경우 1.4 ~ 12.6GB를 요청할 수 있습니다. 응용 프로그램에서 사용할 수있는 메모리의 총량은 이며 런타임 환경에서는 환경 변수 GAE_MEMORY_MB으로 설정됩니다.

+0

니스! 고마워요 Dan :) – mab