Kernel panic-java Contaminato errore a causa di UseLargePages
Mi sto imbattendo in uno strano problema di "Kernel Panic" durante il tentativo di utilizzare UseLargePages come uno dei parametri JVM. Nel momento in cui provo a eseguire qualsiasi comando java, il sistema operativo si blocca e sono costretto a ri-bbot.Sto usando CentOS 6.2 a 64 bit (Linux 2.6.32-220.23.1). Ecco cosa ho fatto per impostare le grandi pagine.
- Aggiunte le seguenti voci in /etc/sysctl.conf
kernel.shmmax = 4294967296
vm.nr_hugepages = 2048
vm.hugetlb_shm_group = 502
- La mia jvm è in esecuzione sotto utente root, quindi aggiunto root come parte di questo gruppo > > hugetlb
- Aggiornato /etc/security/limits.conf per aggiungere il seguente
root soft memlock 4194304
root hard memlock 4194304
- Riga di comando del kernel aggiornata per utilizzare hugepages non trasparenti transparent_hugepage = mai
meminfo mostra
Infine, ho aggiunto il "- XX: + UseLargePages " come uno dei parametri di avvio JVM.Ora, nel momento in cui eseguo qualsiasi comando java, ad esempio "java-version", il sistema operativo si blocca, ho dovuto ricorrere a un riavvio. Ecco uno stacktrace dal registro del sistema operativo.cat /proc/meminfo | grep Huge AnonHugePages: 0 kB HugePages_Total: 2048 HugePages_Free: 2048 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 2048 kB
Kernel panico - non sincronizzazione: eccezione fatale Pid: 1790, comm: java Tainted: G D ---------------- 2.6.32-220.23.1.el6.centos.Plus.x86_64 #1
Kernel panic - not syncing: Fatal exception
Pid: 1790, comm: java Tainted: G D ---------------- 2.6.32-220.23.1.el6.centos.plus.x86_64 #1
Call Trace:
[] ? panic+0x78/0x143
[] ? xen_restore_fl_direct_end+0x0/0x1
[] ? _spin_unlock_irqrestore+0x1c/0x20
[] ? oops_end+0xe4/0x100
[] ? no_context+0xfb/0x260
[] ? __alloc_pages_nodemask+0x111/0x940
[] ? __bad_area_nosemaphore+0x125/0x1e0
[] ? __raw_callee_save_xen_pmd_val+0x11/0x1e
[] ? bad_area_nosemaphore+0x13/0x20
[] ? __do_page_fault+0x31d/0x480
[] ? __lru_cache_add+0x40/0x90
[] ? xen_set_pte_at+0xaf/0x170
[] ? page_add_new_anon_rmap+0x9d/0xf0
[] ? handle_pte_fault+0x487/0xb50
[] ? do_page_fault+0x3e/0xa0
[] ? page_fault+0x25/0x30
[] ? __unmap_hugepage_range+0x1f2/0x300
[] ? __unmap_hugepage_range+0xdf/0x300
[] ? unmap_hugepage_range+0x54/0x90
[] ? unmap_vmas+0xae7/0xc00
[] ? release_pages+0x21c/0x250
[] ? check_events+0x12/0x20
[] ? xen_force_evtchn_callback+0xd/0x10
[] ? check_events+0x12/0x20
[] ? unmap_region+0x91/0x130
[] ? do_munmap+0x2b6/0x3a0
[] ? sys_munmap+0x56/0x80
[] ? system_call_fastpath+0x16/0x1b
Xen Minimal OS!
Non sono sicuro di cosa stia causando questo problema. Non sono un esperto del sistema operativo, quindi non ho molti indizi per interpretare il registro. Tutto funziona se giro l'opzione UseLargePages commentando kernel.shmmax = 4294967296 . La memoria totale della macchina è di 15 GB. Sto usando- Xmx6144M-XX:MaxPermSize=128m come parametri di memoria JVM. Tratti qualcosa a che fare con CentOS 6.2 ?
Tutti i puntatori saranno apprezzati.