
我有一個 linux VPS,有 256 MB 記憶體(free
但只找到 248 MB)。不過我似乎還有 85 MB 空閒空間,但它交換為 255 MB。為什麼是這樣?
free -m
total used free shared buffers cached
Mem: 248 245 3 0 41 40
-/+ buffers/cache: 163 85
Swap: 1971 255 1716
答案1
您有 3MB 可用空間,而不是 85MB。由於使用了 255MB 的交換空間,而只有 88MB 的記憶體可用於保存已交換的數據,因此核心別無選擇,只能交換至少 167MB。交換更多的原因是核心認為,如果將該記憶體用於磁碟快取(技術上,用於頁面快取)而不是使用它來保存最近未訪問過的應用程式數據,效能會更好。
保持 3MB 空閒的原因是為了在記憶體無法輕鬆釋放或重新利用的情況下處理突發負載。例如,如果出現網路流量突發或磁碟 I/O 完成時。