理解 top 和调优

理解 top 和调优

我在我们的服务器上为 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/

答案1

VIRT 列不是实际显示的是总分配的内存。相反,它只显示在进程用户空间中映射了多少内存。换句话说,它有没有什么与交换有关。

作为复查,请看一下swap如下所示的行top:它清楚地表明使用的交换位于0 千字节

相关内容