ฉันมีกระบวนการที่รายงานใน 'บนสุด' ว่ามีหน่วยความจำภายใน 6GB และจัดสรรหน่วยความจำเสมือน 70GB สิ่งที่แปลกคือเซิร์ฟเวอร์นี้มีเพียง 8GB จริงและมีพื้นที่สว็อป 35GB
จากคู่มือ 'top':
o: VIRT -- Virtual Image (kb)
The total amount of virtual memory used by the task. It includes
all code, data and shared libraries plus pages that have been
swapped out. (Note: you can define the STATSIZE=1 environment vari-
able and the VIRT will be calculated from the /proc/#/state VmSize
field.)
VIRT = SWAP + RES.
ด้วยคำอธิบายนี้ฉันคาดหวังว่าการจัดสรรหน่วยความจำแบบ virutal สำหรับกระบวนการจะ จำกัด เพียงการแลกเปลี่ยน + หน่วยความจำกายภาพที่มีอยู่
ตาม 'pmap' โค้ดส่วนแบ่งไลบรารีและหน่วยความจำที่แชร์ของกระบวนการนี้มีน้อยมาก - ไม่เกิน 300M หรือมากกว่านั้น
เห็นได้ชัดว่าเครื่องจักรและกระบวนการยังคงทำงานอย่างถูกต้อง (แม้ว่าช้า) ดังนั้นสิ่งที่ฉันหายไปที่นี่?