แล็ปท็อปของฉันคือ Thinkpad x220, 4G ram, ฮาร์ดดิสก์คือ 7200rpm, ติดตั้งกับ Ubuntu 12.04, โดยใช้ Unity desktop
เมื่อฉันเปิดคราสและโครเมียมพวกมันกินหน่วยความจำประมาณ 2G ที่นี่คือ free -m
ผล:
total used free shared buffers cached
Mem: 3841 3301 540 0 10 956
-/+ buffers/cache: 2334 1507
Swap: 8187 306 7881
และ top
ผล:
Mem: 3934188k total, 3540508k used, 393680k free, 45680k buffers
Swap: 8384508k total, 313512k used, 8070996k free, 1078888k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
5552 martin 20 0 4249m 388m 6560 S 0 10.1 2:46.28 java
3369 martin 20 0 2548m 182m 32m R 1 4.7 29:19.64 chrome
3406 martin 20 0 1000m 155m 16m S 0 4.1 4:18.97 chrome
2736 martin 20 0 1582m 106m 29m S 1 2.8 13:10.27 compiz
3704 martin 20 0 945m 85m 8396 S 0 2.2 0:15.60 chrome
11047 martin 20 0 926m 82m 23m S 0 2.2 0:06.52 chrome
11443 martin 20 0 915m 72m 21m S 0 1.9 0:46.08 chrome
4280 martin 20 0 822m 66m 12m S 4 1.7 14:59.41 chrome
หลังจากผ่านไประยะเวลาประมาณ 10 นาทีฉันมีหน่วยความจำเพียง 100M + จากนั้นระบบจะเริ่มสลับหน่วยความจำไปยังดิสก์ซึ่งทำให้คอมพิวเตอร์ของฉันค้างโดยสิ้นเชิงมันจะกู้คืนหลังจากการสลับเสร็จสิ้น
ฉันมีแล้ว vm.swappiness = 10
ฉันค้นหา google และบางบทความกล่าวว่าเมื่อหน่วยความจำไม่เพียงพอระบบจะ ปล่อยแคชและใช้เป็นหน่วยความจำ แต่สำหรับฉันแล้วดูเหมือนว่าแคชจะไม่เป็นอิสระ เมื่อระบบขาดหน่วยความจำ ( แต่ที่จริงฉันมีหน่วยความจำเพียงพอหน่วยความจำบางส่วนใช้สำหรับแคชเท่านั้น ) มันจะไม่ใช้แคชแทนมันจะเปลี่ยนหน่วยความจำไปยังดิสก์โดยตรงซึ่งจะทำให้เกิดการค้าง
ฉันจะหลีกเลี่ยงสิ่งนี้ได้อย่างไร
การลดหน่วยความจำแคช?
Eclipse, MySQL Server, 4 tabs in Chrome, Skype and Tomcat with GWT application
เหลือเพียงประมาณ 300 MB เมื่อฉันเรียกใช้ free -m
. เมื่อฉันเริ่มสร้างแอปพลิเคชัน GWT ใหม่ (ใช้เวลา RAM สูงสุด 1 GB เมื่อมี RAM เพียงพอ) ระบบหยุดทำงาน (ไม่มีการเคลื่อนที่ของเมาส์ ฯลฯ ) และไม่สามารถกู้คืนได้ฉันต้องรีสตาร์ทแล็ปท็อปของฉัน อย่างไรก็ตามเมื่อฉันว่าง RAM เพียงพอแอปสร้างใหม่ผ่านดี @ David คุณช่วยกรุณาแนะนำฉันจะตรวจสอบปัญหาได้อย่างไร? ขอบคุณล่วงหน้า