Wednesday, August 12, 2009

JVMJ9GC028E Option too large

เมื่อ startServer แล้วพบอาการ

ADMU7704E: Failed while trying to start the Windows Service associated
with server:
server1;probable error executing WASService.exe:
Starting Service:
LOS0PFM0SVRNode01Service failed to start.
startServer return
code = -1


อาจเกิดขึ้นได้หลายสาเหตุ
โดยสามารถดูรายละเอียดส่วนหนึ่งได้จาก

$WAS_HOME\profiles\native_stderr.log

วันนี้ขอเสนอ


JVMJ9GC028E Option too large: '-Xmx4096m'JVMJ9VM015W Initialization error for
library j9gc23(2): Failed to initialize, parsing command lineCould not create
the Java virtual machine.

Error นี้เกิดจากเราไปกำหนด Maximum Heapsize ให้กับ WAS มากเกินกว่าที่ server จะจองให้ได้มันก็จะ start ไม่ขึ้นพร้อมกับ print error ออกมาอย่างที่เห็นนี้ล่ะครับ
แล้วจะทำยังไงดี (นี้เป็นคำถามสำหรับคนที่ config ค่า Maximum Heapsize ผ่าน Web Console) ไม่ยากครับเข้าไปแก้


$WAS_HOME\profiles\config\cells\nodes\servers\server.xml

จากนั้นมองหา

< id="JavaVirtualMachine_1249974906156" verbosemodeclass="false" verbosemodegarbagecollection="true" verbosemodejni="false" color="#ff6600">maximumheapsize="4096" runhprof="false" debugmode="false" debugargs="-Djava.compiler=NONE -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777" genericjvmarguments="-Dsun.rmi.dgc.server.gcInterval=60000 -Dsun.rmi.dgc.client.gcInterval=60000 -Xdisableexplicitgc" disablejit="false">

ครับแล้วก็จัดการแก้ค่า maximumHeapSize ให้มีขนาดน้อยๆก่อนครับ (อย่าลืม backup ไว้ด้วยล่ะ) จากนั้น save แล้วลอง startServer อีกครั้งครับผลลัพธ์ที่ได้ก็น่าจะเป็น

ADMU0128I: Starting tool with the profile
ADMU3100I: Reading configuration for server:
ADMU3200I: Server launched. Waiting for initialization status.
ADMU3000I: Server open for e-business; process id is 2328
ให้เราชื่นใจนะครับ

No comments: