ผู้ใช้บางคนกำลังเผชิญกับ ไม่สามารถสร้าง Java Virtual Machine เกิดข้อผิดพลาดเมื่อพยายามเปิดแอปพลิเคชันที่ใช้ Java มีรายงานว่าปัญหานี้เกิดขึ้นกับ Minecraft และแอปพลิเคชันอื่นๆ ที่สร้างโดยใช้ Java
อะไรเป็นสาเหตุของข้อผิดพลาด ไม่สามารถสร้าง Java Virtual Machine ได้
เราตรวจสอบปัญหาเฉพาะนี้โดยดูจากรายงานผู้ใช้ต่างๆ และกลยุทธ์การแก้ปัญหาที่พวกเขาใช้เพื่อแก้ไขข้อความแสดงข้อผิดพลาดเดียวกัน จากข้อสรุปของพวกเขา มีบางสถานการณ์ที่จะทำให้เกิดปัญหานี้:
- Java ถูกเรียกใช้โดยอาร์กิวเมนต์หรือตัวเลือกที่ไม่ถูกต้อง – กรณีนี้อาจเกิดขึ้นได้หากคุณใช้แอปพลิเคชันแบบทำเองที่บ้านหรือพยายามเปิดแอปพลิเคชันโอเพนซอร์สที่ทราบกันดีอยู่แล้วว่าเป็นสาเหตุของความไม่เสถียรของระบบ
- หน่วยความจำฮีปสูงสุดของ Java ทั่วโลกไม่สูงพอ – หนึ่งในสาเหตุที่พบบ่อยที่สุดที่ทำให้คุณพบข้อผิดพลาดนี้คือถ้าคุณพยายามเริ่มแอปพลิเคชัน Java ที่มีขนาดหน่วยความจำฮีปสูงสุดที่ใหญ่กว่าชุดเป็น ตัวแปรระบบ .
- โปรแกรมสั่งการ Java และ/หรือแอปพลิเคชันต้องการสิทธิ์ของผู้ดูแลระบบ – สิ่งนี้อาจเกิดขึ้นกับแอปพลิเคชันที่ต้องการการเข้าถึงของผู้ดูแลระบบเพื่อให้ทำงานได้อย่างถูกต้อง
หากคุณกำลังหาวิธีแก้ไข ไม่สามารถสร้าง Java Virtual Machine ได้ บทความนี้จะให้กลยุทธ์การแก้ไขปัญหาที่ผ่านการตรวจสอบหลายข้อแก่คุณ ด้านล่างนี้ คุณมีชุดวิธีที่ผู้ใช้รายอื่นในสถานการณ์ที่คล้ายกันเคยใช้เพื่อแก้ไขปัญหา
เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด ให้ทำตามวิธีการด้านล่างตามลำดับที่แสดงจนกว่าคุณจะค้นพบวิธีการที่มีประสิทธิภาพในการแก้ไขข้อผิดพลาดในสถานการณ์เฉพาะของคุณ
วิธีที่ 1:การเพิ่ม _JAVA_OPTIONS ให้กับตัวแปรระบบ
ผู้ใช้ที่ได้รับผลกระทบส่วนใหญ่สามารถแก้ไขปัญหาได้ด้วยการสร้างตัวแปรระบบสำหรับ Java ชื่อ _JAVA_OPTIONS และตั้งค่าเป็น Xmx512M . โดยพื้นฐานแล้วสิ่งนี้ทำคือตั้งค่าขนาดหน่วยความจำฮีปสูงสุดทั่วโลกสำหรับ Java
การดำเนินการนี้จะแก้ไขข้อความแสดงข้อผิดพลาดที่เกิดขึ้นเนื่องจากขนาดหน่วยความจำฮีปสูงสุดของแอปพลิเคชัน Java ที่เริ่มทำงานมีขนาดใหญ่กว่าขนาดที่กำหนดเป็นตัวแปรระบบ ผู้ใช้หลายคนที่พบปัญหาเดียวกันได้รายงานว่าปัญหาได้รับการแก้ไขแล้วทั้งหมดหลังจากทำตามขั้นตอนด้านล่าง
นี่คือสิ่งที่คุณต้องทำเพื่อเพิ่ม _JAVA_OPTION รายการ S ใน System Variables เพื่อขยายขนาดหน่วยความจำฮีปสูงสุดทั่วโลก:
- กด แป้น Windows + R เพื่อเปิด วิ่ง กล่องโต้ตอบ จากนั้นพิมพ์ “sysdm.cpl ” และกด Enter เพื่อเปิด คุณสมบัติของระบบ หน้าจอ
- ภายใน คุณสมบัติของระบบ หน้าจอ ไปที่ ขั้นสูง แท็บแล้วคลิก ตัวแปรสภาพแวดล้อม
- ใน ตัวแปรสภาพแวดล้อม หน้าต่าง ให้คลิกที่ ใหม่ (ใน ตัวแปรระบบ )
- ภายใน ตัวแปรระบบใหม่ หน้าต่าง ตั้งค่า ชื่อตัวแปร ถึง _JAVA_OPTIONS และ ค่าตัวแปร ถึง –Xmx512M และคลิก ตกลง เพื่อบันทึกการเปลี่ยนแปลง
- ปิดหน้าต่างที่เปิดไว้ก่อนหน้านี้และรีสตาร์ทเครื่องเพื่อบังคับใช้การเปลี่ยนแปลง
- ในการเริ่มต้นครั้งถัดไป ให้เปิดแอปพลิเคชันที่เคยแสดง ไม่สามารถสร้าง Java Virtual Machine ผิดพลาดและดูว่าตอนนี้ทำงานอย่างถูกต้องหรือไม่
หากคุณยังคงเห็นข้อความแสดงข้อผิดพลาดเดิมที่จุดเริ่มต้นของแอปพลิเคชัน ให้ลองเพิ่มเส้นทาง Java Bin ซึ่งอาจคล้ายกับ “%\USER PATH\Java\jdk1.6.0_39\bin” ไปยังตัวแปรสภาพแวดล้อมตามที่ระบุในวิธีการด้านบนและดูว่าใช้งานได้หรือไม่
วิธีที่ 2:การเปิด java.exe ด้วยสิทธิ์ของผู้ดูแลระบบ
ผู้ใช้หลายคนที่ดิ้นรนเพื่อแก้ไขปัญหาเดียวกันได้จัดการเพื่อแก้ไขปัญหาหลังจากบังคับให้ไฟล์ปฏิบัติการ Java หลัก (java.exe) เปิดขึ้นด้วยสิทธิ์ของผู้ดูแลระบบ
ผู้ใช้บางคนรายงานว่าพวกเขาสามารถแก้ไขปัญหาได้หลังจากใช้การแก้ไขนี้กับทั้งไฟล์ปฏิบัติการหลัก java และโปรแกรมปฏิบัติการของแอปพลิเคชันที่แสดงข้อความแสดงข้อผิดพลาด
ต่อไปนี้คือคำแนะนำโดยย่อเกี่ยวกับเนื้อหาทั้งหมด:
- เปิด File Explorer และไปที่ตำแหน่งการติดตั้งจาวาของคุณ เราจะต้องไปถึงตำแหน่งของไฟล์ปฏิบัติการ Java หลัก (java.exe ). โดยค่าเริ่มต้น คุณควรพบไฟล์ดังกล่าวใน Program Files/Java/*JRE build version*/bin ตำแหน่งที่แน่นอนจะแตกต่างกันขึ้นอยู่กับว่าคุณกำลังใช้ Java Runtime Environment ใด
หมายเหตุ: หากคุณติดตั้ง Java ในตำแหน่งที่กำหนดเอง ให้ไปที่ตำแหน่งที่กำหนดเองแทน
- คลิกขวาที่ java.exe และเลือกคุณสมบัติ . จากนั้นไปที่ ความเข้ากันได้ แท็บและทำเครื่องหมายที่ช่องที่เกี่ยวข้องกับ เรียกใช้โปรแกรมนี้ในฐานะผู้ดูแลระบบ (ภายใต้การตั้งค่า) คลิกสมัคร เพื่อบันทึกการเปลี่ยนแปลง
- คลิกขวาที่โปรแกรมปฏิบัติการ (อันที่ก่อให้เกิดข้อผิดพลาด) และทำซ้ำขั้นตอนเดียวกัน:ความเข้ากันได้> เรียกใช้โปรแกรมนี้ในฐานะผู้ดูแลระบบ> ใช้ .
- เรียกใช้แอปพลิเคชันและดูว่าข้อความแสดงข้อผิดพลาดได้รับการแก้ไขหรือไม่
วิธีที่ 3:ติดตั้ง Java ใหม่อีกครั้ง
ในบางกรณี ข้อผิดพลาดเกิดขึ้นเนื่องจากอาจติดตั้ง Java ไม่ถูกต้องหรือการติดตั้งอาจเสียหายเมื่อเวลาผ่านไป ดังนั้น ในขั้นตอนนี้ เราจะติดตั้ง Java ใหม่หลังจากถอนการติดตั้งอย่างสมบูรณ์ สำหรับสิ่งนั้น:
- กด แป้น Windows + R เพื่อเปิดพรอมต์ Run และพิมพ์ Appwiz.cpl
- กด “Enter” และหน้าจอโปรแกรมและคุณสมบัติจะเปิดขึ้น
- ที่ โปรแกรมและคุณลักษณะ ให้เลื่อนดูรายการแอปพลิเคชันที่ติดตั้งไว้จนกว่าคุณจะพบ Java
- คลิกขวาที่มันและเลือก “ถอนการติดตั้ง” เพื่อลบออกจากระบบอย่างสมบูรณ์
- ขั้นแรก ให้ลบการติดตั้ง Java หลัก และหลังจากนั้น คุณควรลบการติดตั้ง Java อื่นๆ ทั้งหมดออกด้วย เช่น การอัปเดตและเวอร์ชันอื่นๆ
- หลังจากถอนการติดตั้งการติดตั้งทั้งหมดแล้ว ให้รีสตาร์ทคอมพิวเตอร์ของคุณ
- หลังจากบูทเครื่องแล้ว ไปที่ลิงก์นี้และดาวน์โหลด JRE เวอร์ชันล่าสุด
- ตรวจสอบเพื่อดูว่าปัญหายังคงมีอยู่หรือไม่
- หากข้อผิดพลาดยังคงอยู่ ให้ดาวน์โหลดและติดตั้ง JDK เวอร์ชันล่าสุดจากที่นี่
หมายเหตุ: หากคุณใช้ JDK อยู่แล้ว ให้ลองเปลี่ยนเวอร์ชันหรือถอนการติดตั้ง JRE ที่ได้ติดตั้งไปพร้อมกับมัน - ตรวจสอบว่าปัญหายังคงมีอยู่หรือไม่
วิธีที่ 4:การแก้ไขข้อผิดพลาดด้วยรหัส
มีสาเหตุหลายประการที่อยู่เบื้องหลังข้อผิดพลาดนี้ และบางส่วนอาจรวมถึงหากคุณมีข้อผิดพลาดบางอย่างเกี่ยวกับโค้ดของคุณ เราจะเน้นที่ด้านล่าง
- ลบยัติภังค์ :ผู้ใช้บางคนสังเกตว่าข้อผิดพลาดได้รับการแก้ไขแล้วโดยการเปลี่ยนเครื่องหมายยัติภังค์คู่ “–” เป็นเครื่องหมาย “-” ตัวเดียวในรหัส ตัวอย่างเช่น:
เปลี่ยนรหัส
“sony@sony-VPCEH25EN:~$ java –version
เลือก JAVA_TOOL_OPTIONS:-javaagent:/usr/share/java/jayatanaag.jar
ตัวเลือกที่ไม่รู้จัก:–version
ข้อผิดพลาด:ไม่สามารถสร้าง Java Virtual Machine ได้
ข้อผิดพลาด:มีข้อยกเว้นร้ายแรงเกิดขึ้น โปรแกรมจะออก”
ถึง
“sony@sony-VPCEH25EN:~$ java -version
เลือก JAVA_TOOL_OPTIONS:-javaagent:/usr/share/java/jayatanaag.jar
ตัวเลือกที่ไม่รู้จัก:–version
ข้อผิดพลาด:ไม่สามารถสร้าง Java Virtual Machine ได้
ข้อผิดพลาด:มีข้อยกเว้นร้ายแรงเกิดขึ้น โปรแกรมจะออก” - นอกจากนี้ ลองลบบรรทัดต่อไปนี้ออกจากอาร์กิวเมนต์ของคุณ
-Djava.endorsed.dirs=”C:\Program Files\Apache Software Foundation\Tomcat 8.5\endorsed” - เปิดไฟล์ eclipse.ini ของคุณและตรวจสอบให้แน่ใจว่าคุณเพิ่มรายการ "-vm" เหนือ vm args มิฉะนั้น JVM V6 จะถูกเลือกใน env vars
- หากใช้ Ubuntu คุณควรรู้ว่า Java 8 เป็นเวอร์ชันเดียวที่ได้รับการสนับสนุน จึงใช้วิธีที่สาม ถอนการติดตั้ง Java และติดตั้งเวอร์ชันก่อนหน้า
วิธีที่ 5:การแก้ไขไฟล์ Eclipse.ini
เรายังปรับแต่งสิ่งต่างๆ ภายในไฟล์ Eclipes.ini เพื่อกำจัดปัญหานี้ได้ อาจมีปัญหาสองสามประการเกี่ยวกับการกำหนดค่าที่ต้องแก้ไข เราจึงได้แบ่งออกเป็นประเด็นต่างๆ แยกกัน ทำตามที่เหมาะกับสถานการณ์ของคุณที่สุด
ลดการใช้หน่วยความจำ
- เปิดไฟล์ Eclipse.ini ภายในโฟลเดอร์ Eclipse ด้วย notepad
- ค้นหาบรรทัดที่คล้ายกับ “-Xmx256m” (อาจเป็น -Xmx1024m หรือ -Xmx 512m)
- ตอนนี้เปลี่ยนค่าเริ่มต้นเป็นตัวเลขที่เหมาะสมมากขึ้นโดยขึ้นอยู่กับ RAM ที่ติดตั้งบนคอมพิวเตอร์ของคุณ และเพิ่มหมายเลขเวอร์ชันลงไปด้วย ตัวอย่างเช่น:
-Xmx512m -Dosgi.requiredJavaVersion=1.6 OR -Xmx512m -Dosgi.requiredJavaVersion=1.7 OR -Xmx512m -Dosgi.requiredJavaVersion=1.8
- นอกจากนี้ ลองลบค่า “256m” ออกจากบรรทัด “-launcher.XXMaxPermSize”
- ตรวจสอบเพื่อดูว่าปัญหายังคงมีอยู่หรือไม่
คลาดเคลื่อน
- พยายามลบบรรทัดต่อไปนี้ออกจากไฟล์ของคุณ
-vm P:\Programs\jdk1.6\bin
- เปลี่ยนบรรทัดต่อไปนี้ด้วย
set -Dosgi.requiredJavaVersion=1.5 TO set -Dosgi.requiredJavaVersion=1.6
- นอกจากนี้ ลองเพิ่มบรรทัดต่อไปนี้ด้านบน “-vmargs!” บรรทัด.
-vm C:\Program Files (x86)\Java\jre6\bin\javaw.exe
- นอกจากนี้ ให้ชี้ไปที่ JVM.dll โดยใช้บรรทัดต่อไปนี้
-vm C:\Program Files\Java\jre7\bin\client\jvm.dll
- เปิดไฟล์ Eclipse และแทนที่ “-vmargs” ด้วยพาธของ javaw.exe ตัวอย่างเช่น:
-startup plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813 -product com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 256M -showsplash com.android.ide.eclipse.adt.package.product --launcher.XXMaxPermSize 256m --launcher.defaultAction openFile **-vm “c:\Program Files\Java\jdk1.7.0_07\bin\javaw.exe”** -Dosgi.requiredJavaVersion=1.6 -Xms40m -Xmx768m -Declipse.buildId=v21.1.0-569685
- นอกจากนี้ คุณสามารถวางบรรทัดต่อไปนี้ในตอนท้ายและตรวจสอบว่าใช้งานได้หรือไม่
-vmargs -Xms40m -Xmx512m -XX:MaxPermSize=256m
- นอกจากนี้ ลองลบบรรทัดต่อไปนี้ออกจาก eclipse.ini และตรวจสอบว่าใช้งานได้หรือไม่
-XX:+UseStringDeduplication -XX:+UseG1GC
- คุณยังสามารถลองลบไฟล์ eclipse.ini หากปัญหายังคงมีอยู่เนื่องจากมีรายงานว่าได้แก้ไขปัญหาสำหรับบางคนแล้ว แต่อย่าลืมสำรองข้อมูลก่อนในกรณีที่คุณต้องการ นอกจากนี้ ให้ลองปิดแอปพลิเคชันที่ใช้พลังงานมากก่อนที่จะเริ่ม Java เพื่อให้แน่ใจว่ามีทรัพยากรที่เหมาะสม
กำลังตรวจสอบ JDK Corruption
- กด “Windows” + “R” เพื่อเปิดพรอมต์ Run และพิมพ์ “cmd”
- พิมพ์คำสั่งต่อไปนี้และตรวจสอบว่ามีข้อผิดพลาดหรือไม่
c:\> java -version
- หากมีข้อผิดพลาด ให้ติดตั้ง JDK ใหม่ทั้งหมด