8
การใช้งานหน่วยความจำเสมือนจาก Java ภายใต้ Linux ใช้หน่วยความจำมากเกินไป
ฉันมีปัญหากับแอปพลิเคชัน Java ที่ทำงานภายใต้ Linux เมื่อฉันเปิดแอปพลิเคชันโดยใช้ขนาดฮีพสูงสุดเริ่มต้น (64 MB) ฉันเห็นการใช้แอพพลิเคชั่นท็อปที่จัดสรรหน่วยความจำเสมือน 240 MB ให้กับแอปพลิเคชัน สิ่งนี้สร้างปัญหาบางอย่างกับซอฟต์แวร์อื่น ๆ บนคอมพิวเตอร์ซึ่งค่อนข้าง จำกัด ทรัพยากร หน่วยความจำเสมือนที่สำรองไว้จะไม่ถูกใช้เท่าที่ฉันเข้าใจเพราะเมื่อเราไปถึงขีด จำกัด ฮีปและการOutOfMemoryErrorโยน ฉันรันแอปพลิเคชันเดียวกันภายใต้ windows และฉันเห็นว่าขนาดหน่วยความจำเสมือนและขนาดฮีปมีความคล้ายคลึงกัน มีอยู่หรือไม่ว่าฉันสามารถกำหนดค่าหน่วยความจำเสมือนที่ใช้สำหรับกระบวนการ Java ภายใต้ Linux ได้หรือไม่ แก้ไข 1 : ปัญหาไม่ใช่ฮีป ปัญหาคือถ้าฉันตั้งค่า Heap เป็น 128 MB ตัวอย่างเช่น Linux ยังคงจัดสรรหน่วยความจำเสมือน 210 MB ซึ่งไม่จำเป็นเลยทีเดียว ** แก้ไข 2 : การใช้ulimit -vช่วยให้ จำกัด จำนวนหน่วยความจำเสมือน …