我尝试使用EC2“micro”AMI(推荐使用微型32位AMI,ami-7f418316,内核为2.6.35.14-95.38.amzn1.i686)来运行grails应用程序(grails 2.0.0 BUILD- SNAPSHOT从github grails-core,所以这是后M2)。 它有时可以工作,然后有时当grails启动时(在我运行应用程序之前),它会进入一个100%java或java + rsyslogdlocking,倾倒一堆/ var / log / message,看起来像有什么事情与内存映射:
[180297.535565] ------------[ cut here ]------------ [180297.535572] WARNING: at arch/x86/xen/multicalls.c:182 xen_mc_flush+0x224/0x250() [180297.535580] Modules linked in: ipv6 binfmt_misc dm_mirror dm_region_hash dm_log dm_mod rtc_core rtc_lib ext4 mbcache jbd2 crc16 uhci_hcd ohci_hcd ssb ehci_hcd usbcore nls_base [last unloaded: scsi_wait_scan] [180297.535638] Pid: 24986, comm: java Tainted: GDW 2.6.35.11-83.9.amzn1.i686 #1 [180297.535646] Call Trace: [180297.535653] [<c104282d>] warn_slowpath_common+0x6d/0xa0 [180297.535661] [<c1004a44>] ? xen_mc_flush+0x224/0x250 [180297.535669] [<c1004a44>] ? xen_mc_flush+0x224/0x250 [180297.535678] [<c104287d>] warn_slowpath_null+0x1d/0x20 [180297.535686] [<c1004a44>] xen_mc_flush+0x224/0x250 [180297.535694] [<c10063ae>] ? xen_extend_mmu_update+0xce/0x190 [180297.535703] [<c100650d>] xen_set_pud_hyper+0x9d/0xc0 [180297.535711] [<c10065a4>] xen_set_pud+0x74/0xc0 [180297.535719] [<c102cf90>] pud_populate+0x40/0x80 [180297.535726] [<c10b1b73>] __pmd_alloc+0x73/0x80 [180297.535735] [<c12aefd0>] ? do_page_fault+0x0/0x400 [180297.535743] [<c10b63e2>] handle_mm_fault+0xd22/0xdc0 [180297.535751] [<c1004922>] ? xen_mc_flush+0x102/0x250 [180297.535759] [<c1005b06>] ? arbitrary_virt_to_machine+0x86/0xc0 [180297.535768] [<c12aefd0>] ? do_page_fault+0x0/0x400 [180297.535776] [<c12af0fc>] do_page_fault+0x12c/0x400 [180297.535784] [<c1036df1>] ? finish_task_switch+0x41/0x90 [180297.535793] [<c1048015>] ? irq_exit+0x35/0x70 [180297.535801] [<c12aefd0>] ? do_page_fault+0x0/0x400 [180297.535809] [<c12ac637>] error_code+0x73/0x78 [180297.535817] [<c12a0000>] ? quirk_usb_early_handoff+0xd6/0x579 [180297.535824] ---[ end trace a7919e7f17c0c5a0 ]---
我已经尝试了openjdk和sun jdk,同样的(间歇性)症状。 任何想法,这是否是一个线索,而不是在亚马逊EC2上工作,或者可能是值得尝试一个更大的实例吗? 或者我现在应该转移到cloudfoundry for grails应用程序吗?
我尝试了亚马逊Linux AMI的32位和64位微版本:相同(片状)的结果。 64位的死亡速度更快(我认为这是因为AMI没有交换设备)。 那么我从微型转换到一个小的32位版本,它运行良好。 我没有尝试任何非默认的grails内存调优,这会做现在。