วิธีเพิ่มการจัดสรรหน่วยความจำของ Tomcat

หากคุณประสบปัญหาด้านประสิทธิภาพกับTomcatสาเหตุทั่วไปคือการขาดการ จัดสรรหน่วยความจำ JVM ( Java Virtual Machine ) การตั้งค่าเริ่มต้นของขนาดฮีปสูงสุดคือ 64MB หรือ 128MB คุณสามารถเพิ่มขนาดฮีปสูงสุดของแอปพลิเคชันได้โดยการตั้งค่า พารามิเตอร์ -Xmx JVM

ตัวอย่างเช่น  -Xmx512mอนุญาตให้จัดสรรฮีปสูงสุด 512MB สำหรับJVM ในการปรับพารามิเตอร์นี้ ให้คลิกขวาที่ ไอคอน My Computerจากนั้นเลือกแท็บAdvanced คลิก ปุ่ม ตัวแปรสภาพแวดล้อม(Environment Variables) :

สร้าง ตัวแปร CATALINA_OPTSและตั้งค่าที่ต้องการ เช่น “ -server -Xmx256m

หากคุณใช้งานบนLinuxหรือUNIXให้ไปที่เทอร์มินัลแล้วใช้บัญชี Tomcat โดยใช้sudo su – tomcatหรือชื่อบัญชีที่เกี่ยวข้อง ทั้งนี้ขึ้นอยู่กับการตั้งค่าของคุณ คุณควรใช้บัญชีที่ใช้ในการเรียกใช้Tomcat

ตรวจสอบทั้งตัวแปรสภาพแวดล้อมCATALINA_OPTSและJAVA_OPTS ตั้งค่าตัวแปรสภาพแวดล้อมให้เป็นค่าที่สูงขึ้น ตัวอย่างเช่น หาก ตัวแปร JAVA_OPTSมีขนาดฮีปสูงสุดขั้นต่ำ 64MB และ 128MB ให้เพิ่มค่าเป็น 128MB และ 256MB

OLD: JAVA_OPTS="-Xms64m -Xmx128m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

OLD: JAVA_OPTS="-Xms128m -Xmx256m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000"

ตรวจ(Make) สอบให้ แน่ใจว่าใช้ค่าสูงสุดที่น้อยกว่าขนาด RAM จริงของคุณ ไม่เช่นนั้นจะถูกเพจไปยังฮาร์ดดิสก์ ซึ่งอาจทำให้เกิดปัญหาด้านประสิทธิภาพมากขึ้น

หากต้องการตรวจสอบว่าการตั้งค่าใหม่มีผลหรือไม่ ให้ไปที่URLของ เซิร์ฟเวอร์ Tomcatแล้วคลิกสถานะ(Status) :

คุณควรเห็นค่าใหม่ภายใต้ ส่วน JVM :

หากคุณไม่เห็น หน่วยความจำ JVM ที่อัปเดต ในเพจ ให้ลองรีสตาร์ทTomcatเนื่องจากการเปลี่ยนแปลงพารามิเตอร์จำเป็นต้อง รีสตาร์ท Tomcatก่อนจึงจะมีผล สิ่งนี้ควรแก้ไขปัญหาของคุณเกี่ยวกับ ประสิทธิภาพ Tomcat ที่ไม่ดี และหลีกเลี่ยงปัญหาหน่วยความจำไม่เพียงพอกับสคริปต์ฝั่งเซิร์ฟเวอร์ของคุณ หากคุณมีคำถามแจ้งให้เราทราบในความคิดเห็น สนุก!



About the author

ฉันเป็นนักพัฒนาเว็บที่มีประสบการณ์มากกว่า 10 ปีในการทำงานกับเบราว์เซอร์ Firefox และ Google Docs ฉันเป็นผู้เชี่ยวชาญในการสร้างแอปพลิเคชันออนไลน์ที่เรียบง่ายแต่ทรงพลัง และได้พัฒนาโซลูชันบนเว็บสำหรับทั้งธุรกิจขนาดเล็กและองค์กรขนาดใหญ่ ฐานลูกค้าของฉันประกอบด้วยชื่อที่ใหญ่ที่สุดในธุรกิจ เช่น FedEx, Coca Cola และ Macy's ทักษะของฉันในฐานะนักพัฒนาทำให้ฉันเป็นผู้สมัครในอุดมคติสำหรับโครงการใดๆ ที่จำเป็นต้องทำให้เสร็จอย่างรวดเร็วและมีประสิทธิภาพ - ตั้งแต่การพัฒนาเว็บไซต์ที่กำหนดเองไปจนถึงการสร้างแคมเปญการตลาดทางอีเมลที่มีประสิทธิภาพ



Related posts