【问题标题】:How can i check the current usage of ram with Node.js? (Discord.js Bot)如何使用 Node.js 检查 ram 的当前使用情况? (Discord.js 机器人)
【发布时间】:2018-12-02 19:01:51
【问题描述】:
我想创建一个名为 _ram 的命令,它应该显示机器人 ram 的当前使用情况。我已经尝试过这些事情:
${client.performance.memory} //(Says memory is not defined)
${window.performance.memory} //(Window is not defined)
有没有一种工作方式如何显示它?
【问题讨论】:
-
您可能还想用 [electron] 标记您的问题,因为它有自己的 API 来查询实际的总内存使用量,而且方式比仅使用 Node.js 的方式更多。
标签:
javascript
node.js
discord.js
【解决方案1】:
如果你想知道你的Node.js进程使用了多少内存,可以查询:
process.memoryUsage().heapUsed / 1024 / 1024;
它将以字节为单位输出您的进程使用的内存。它不会显示 Node.js 使用的实际内存,因为在这种情况下,您还需要考虑 Node.js 垃圾收集器。
【解决方案2】:
您必须使用:process.memoryUsage(),它返回一个对象,以字节为单位描述进程的内存使用情况。
{
rss: 4935680,
heapTotal: 1826816,
heapUsed: 650472,
external: 49879
}
heapTotal 和 heapUsed 指的是 V8 的内存使用情况。 external 指
绑定到由管理的 JavaScript 对象的 C++ 对象的内存使用情况
V8。 rss,驻留集大小,是在
主内存设备(即总分配内存的子集)
进程,包括堆、代码段和栈。
【解决方案3】:
var os = require('os');
var usedMemory = os.totalmem() -os.freemem(), totalMemory = os.totalmem();
var getpercentage =
((usedMemory/totalMemory) * 100).toFixed(2) + '%'
console.log("Memory used in GB", (usedMemory/ Math.pow(1024, 3)).toFixed(2))
console.log("Used memory" , getpercentage);