สำหรับไม่สามารถจัดสรรหน่วยความจำได้?

สารบัญ:

สำหรับไม่สามารถจัดสรรหน่วยความจำได้?
สำหรับไม่สามารถจัดสรรหน่วยความจำได้?
Anonim

If คุณได้รับ error=12, Cannot allocate memory or error=12, Not enough space หมายความว่าระบบของคุณไม่มีหน่วยความจำหรือพื้นที่สว็อปเมื่อ Java พยายามแยก กระบวนการ ปัญหาเกิดขึ้นกับวิธีที่ Java จัดสรรหน่วยความจำเมื่อดำเนินการประมวลผล เมื่อ Java รันโปรเซส มันจะต้อง fork แล้ว exec

ฉันจะแก้ไขความล้มเหลวในการจัดสรรหน่วยความจำได้อย่างไร

วิธีแก้ปัญหา

  1. กดปุ่มโลโก้ Windows + ปุ่ม Pause/Break เพื่อเปิดคุณสมบัติของระบบ
  2. เลือกการตั้งค่าระบบขั้นสูง จากนั้นเลือกการตั้งค่าในส่วนประสิทธิภาพบนแท็บขั้นสูง
  3. เลือกแท็บขั้นสูง จากนั้นเลือกเปลี่ยนในส่วนหน่วยความจำเสมือน

ฉันจะจัดสรรหน่วยความจำเซิร์ฟเวอร์ได้อย่างไร

วิธีจัดสรรหน่วยความจำให้กับกระบวนการบนเซิร์ฟเวอร์

  1. เปิดโปรแกรมหรือแอปพลิเคชั่นพื้นหลังที่คุณต้องการจัดสรรหน่วยความจำให้ จากนั้นคลิกขวาที่ทาสก์บาร์ของ Windows แล้วเลือก "เริ่มตัวจัดการงาน" จากเมนูบริบท
  2. เปิดแท็บ "กระบวนการ" และเลื่อนดูรายการไปยังกระบวนการของโปรแกรมของคุณ

ฉันจะจัดสรรหน่วยความจำเพิ่มเติมให้กับ Linux ได้อย่างไร

Linux มี API ที่หลากหลายสำหรับการจัดสรรหน่วยความจำ คุณสามารถจัดสรร ชิ้นส่วนขนาดเล็กโดยใช้ kmalloc หรือ kmem_cache_alloc แฟมิลี่ พื้นที่ขนาดใหญ่ที่ต่อเนื่องกันโดยใช้ vmalloc และอนุพันธ์ของมัน หรือคุณสามารถขอหน้าได้โดยตรงจากตัวจัดสรรหน้าด้วย alloc_pages

จะตรวจสอบการใช้หน่วยความจำได้อย่างไรลินุกซ์?

การตรวจสอบการใช้หน่วยความจำใน Linux โดยใช้ GUI

  1. นำทางเพื่อแสดงแอปพลิเคชัน
  2. เข้าสู่การตรวจสอบระบบในแถบค้นหาและเข้าถึงแอปพลิเคชัน
  3. เลือกแท็บทรัพยากร
  4. ภาพรวมกราฟิกของการใช้หน่วยความจำของคุณแบบเรียลไทม์ รวมถึงข้อมูลในอดีตจะปรากฏขึ้น