使用 ps 命令中的 VSZ 来监视 Redhat 服务器上的进程内存是否有意义?

使用 ps 命令中的 VSZ 来监视 Redhat 服务器上的进程内存是否有意义?

我在网上找到了很多关于RSSVSZ两者区别的文章,我真正理解的是,在 Linux 上很难确定进程实际使用的内存。这非常令人不满意。

现在,负责我们应用程序的管理员不希望我们投入生产,因为在他看来我们的应用程序占用了太多内存。他表示VSZ应用程序占用的内存约为 10GB。RSS然而,应用程序占用的内存约为 4GB。

VSZ使用命令来监控和警告 Redhat 服务器上的进程内存是否有意义ps?对于此类监控,采用其他值是否更好?

我认为,所有应用程序的大小相加VSZ并不等于服务器所有内存的 100%。那么,监控一个进程有什么意义呢?

监控服务器上的进程是否有意义?只监控整个服务器的内存使用情况,并在其达到所有内存的 90% 左右时做出反应,不是更好吗?

答案1

对于大多数事情来说,使用 VSZ 都是没有意义的。

此数字是应用程序分配的虚拟内存总量。这包括应用程序请求但实际未使用的内存、交换到磁盘的内存、应用程序文本本身尚未从磁盘加载且可能永远不会加载的页面,以及可能还有一些我忘记的东西。其中大部分实际上并没有使用您所关心的 RAM。

您实际上需要关注的是 RSS;它确切地表示了该进程在任何给定时间使用的 RAM 量。

相关内容