Unix
了解頂部和調音
我在我們的伺服器上允許 Postgres 30GB 的 RAM。在執行密集任務時,我認為它正在交換。
據我了解:
- VIRT - 虛擬記憶體(即:交換到磁碟)
- RES - 完整的記憶體使用情況
- SHR - 共享記憶體 - 我不清楚這是什麼
見附件
我認為這是在說:
- Postgres 的完整記憶體使用量約為 60GB,其中 30GB 被交換
- Ruby 的完整記憶體使用量 ~40GB
如果是這種情況,給 Postgres 再提供 30 或 40GB RAM 似乎是個好主意嗎?
參考
http://mugurel.sumanariu.ro/linux/the-difference-among-virt-res-and-shr-in-top-output/
VIRT 列並沒有真正顯示分配的總記憶體。相反,它只顯示在程序使用者空間中映射了多少記憶體。換句話說,它與交換無關。
作為仔細檢查,請查看
swap
如下所示的行top
:它清楚地表明使用的交換為0 KB