ขอวิธีแก้ java lang OutOfMemoryError ครับ
ปัญหา OutOfMemoryError ใน Java มีให้เห็นอยู่บ่อยครั้ง ทั้งที่เกิดจากความผิดพลาดของ programmer ที่ลืมคืน resource หรืออะไรต่างๆ ที่ทำให้เกิดอาการ Memmory ไม่พอใช้
ตรงนี้ถ้าจะแก้ก็คงต้องให้คนเขียน Code ไล่แก้ให้ครับ
แต่บางครั้ง อาการนี้มันก็เกิดขึ้นจาก Memory ที่มีให้ไม่พอจริงๆ
เนื่องจากว่า Java ทำงานบน JVM ซึ่งเหมือนเครื่องจักรจำลองที่ทำงานอยู่บน เครื่องจริงอีกที ทำให้พวก Memory ต่างๆจะต้องแบ่งมาจากเครื่องจริง หรือ Server
บางครั้งเราอาจเจอปัญหาว่า เครื่อง Server เราอย่างแรง Ram อย่างเยอะแต่ Run โปรแกรม Java นิดเดียว กลับ Out of memory นั่นเป็นเพราะว่า เราแบ่ง Memory ให้กับ JVM น้อยไปครับ วิธีแก้ ให้ Set Parameter เหล่านี้เข้าไป
-Xms128m
-Xmx512m
อันนี้คร่าวๆนะครับจริงๆ พวกตัวแปรเกี่ยวกับการจัดสรรค์ Memory แล้วมีเยอะมาก แต่ถ้าไม่ได้อะไรมากมายแค่สองค่านี้ก็เอาอยู่ครับ ดูเพิ่มเติมได้ที่
การกำหนด ค่า Memory ให้ JVMM