如何使用 Node.js 检查 ram 的当前使用情况? (Discord.js 机器人)
Posted
技术标签:
【中文标题】如何使用 Node.js 检查 ram 的当前使用情况? (Discord.js 机器人)【英文标题】:How can i check the current usage of ram with Node.js? (Discord.js Bot) 【发布时间】: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 的方式更多。 【参考方案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);
【讨论】:
以上是关于如何使用 Node.js 检查 ram 的当前使用情况? (Discord.js 机器人)的主要内容,如果未能解决你的问题,请参考以下文章
如何检查然后更新node.js中的AWS dynamoDB项?
如何检查字符串是不是与 node.js 中的任何正则表达式数组匹配?