11 我在Ubuntu服务器上运行Postgresql,需要能够监视其内存使用情况。目前,我有一个脚本在一分钟的cron作业中运行,以监视/记录各种统计信息,并且还需要监视/记录Postgresql的当前内存使用情况。我已经四处搜寻,但找不到很多东西,除了Postgresql善用共享内存,这样的程序(例如“ top”)给出的值并不准确。 如何在任何给定时间监视Postgresql的总内存使用量?以后将使用这些数据来创建图形进行分析。 linux postgresql memory ubuntu monitoring — Rauffle source
8 通常,在Linux中,特别是对于Postgres,内存使用是一个非常复杂的主题,一个很好的起点是Bruce Momjians的博客,内容涉及主题和smem的用法。值得关注Chris Seibenmanns博客中有关该主题的链接。 — 加文 source 感谢您提供的链接,但由于内核版本太旧,smem似乎也不起作用。好文章。 — Rauffle 2012年
0 您可以使用pmap命令来获取进程的已用内存: # pmap -p PID — ByteNudger source 不幸的是,pmap在这种情况下不是很有用,因为Postgresql使用了大量共享内存。因此,有时pmap之类的工具为Postgresql报告的总内存大于系统上的总可用内存。 — Rauffle 2012年