gpt4 book ai didi

node.js - 如何获取在 CloudFoundry 中运行的 Node-Express 应用程序所使用的实例内存?

转载 作者:搜寻专家 更新时间:2023-11-01 00:42:41 24 4
gpt4 key购买 nike

我目前正在构建一个带有 node-express 后端的应用程序并将其部署到 CloudFoundry。我知道我可以从 VCAP_APPLICATION var 获取总实例内存,并且我可以使用“os”模块获取操作系统内存。似乎我可以使用“util”模块获取应用程序内存,但是从 process.memoryUsage() 返回的对象的参数似乎都不是我要找的。我正在执行以下操作以获得所有这些:

// Modules I've tried
var express = require('express'),
app = express(),
os = require("os"),
util = require("util");

// Memory statistics I can get -> cannot get instance memory in use
var memLimit = JSON.parse(process.env.VCAP_APPLICATION)['limits']['mem'];
totalMem = os.totalmem(),
freeMem = os.freemem(),
memUsed = util.inspect(process.memoryUsage()).split(" "),
heapUsed = memUsed[6],
heapTotal = memUsed[4].substr(0,memUsed[4].length-1);
rss = memUsed[2].substr(0,memUsed[2].length-1);

有谁知道我可以如何使用堆/rss 值或任何其他模块来获得我正在寻找的东西?

最佳答案

我可以想到两种可能实现这一目标的方法。

如果您不一定需要在您的应用中获取此值,则 cf实用程序可以告诉您进程使用了​​多少内存。

正在运行 cf app <app-name>将提供有关给定应用程序的统计信息,其中之一是内存使用情况。

如果您的应用程序代码需要此信息,您可以尝试 node-memwatch 包裹。它可以定期发出带有内存使用统计信息的事件。

您还可以查看代码 node-memwatch用于查看他们如何计算值。

不过要小心。内存分析可能很昂贵,因此请注意它的实现方式和实现方式。

关于node.js - 如何获取在 CloudFoundry 中运行的 Node-Express 应用程序所使用的实例内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29176649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com