如何以编程方式知道 NodeJS 应用程序何时内存不足

2024-03-11

我如何知道我的应用程序内存不足。

对我来说,我在服务器上进行一些视频转码,有时会导致内存不足错误。

因此,我希望知道应用程序何时耗尽内存,以便我可以立即终止视频转码器。

谢谢。


您可以看到内置的内存正在使用多少process module.

const process = require("process");

The process模块有一个方法称为memoryUsage https://nodejs.org/api/process.html#process_process_memoryusage,它显示 Node.js 中内存使用情况的信息。

console.log(process.memoryUsage());

当您运行代码时,您应该看到一个对象,其中包含内存使用所需的所有信息!

$ node index.js
{
  rss: 4935680,
  heapTotal: 1826816,
  heapUsed: 650472,
  external: 49879,
  arrayBuffers: 9386
}

以下是对每个属性的一些见解。

  • rss-(驻留集大小)主存储设备中占用的空间量。
  • heapTotal- V8 引擎中的内存总量。
  • heapUsed- V8 引擎使用的内存量。
  • external- 绑定到 JavaScript 对象的 C++ 对象的内存使用情况(由 V8 管理)。
  • arrayBuffers- 分配的内存ArrayBuffers and Buffers.

对于您的问题,您可能需要使用heapTotal and heapUsed。根据该值,您可以关闭该服务。例如:

const process = require("process");

const mem = process.memoryUsage();
const MAX_SIZE = 50; // Change the value to what you want

if ((mem.heapUsed / 1000000) >= MAX_SIZE) {
  videoTranscoder.kill(); // Just an example...
}

除以一百万部分只是将字节转换为兆字节(B 转换为 MB)。

Change the code to what you like - this is just an example.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式知道 NodeJS 应用程序何时内存不足 的相关文章

随机推荐

  • 如何在netbeans中运行php文件

    我创建了一个扩展名为 php 的文件 那么我应该如何使用 netbeans 运行这个文件 我已经下载了带有所有捆绑功能的 netbeans 6 8 我已经看到 php 文件可以与 netbeans 一起运行 所以我想问一下 请解释一下 运行
  • SQL 中的多个 LIKE 语句

    我有一个包含有关零售商店信息的表 我有一个零售连锁店名称列表 沃尔玛 塔吉特 伊顿等 当用户选择一个时 我基本上会运行一个查询来查找与该连锁店有关的任何信息 SELECT FROM stores WHERE store name LIKE
  • 如何使用 dotnet test 命令发布结果

    我有一个用 dotnet core 编写的测试项目 这需要以 XML 或 HTML 格式发布结果 有没有办法使用相同的命令将结果发布到特定目录 result directory不适合我 你可以看到所有dotnet test通过执行选项dot
  • 在嵌入式 vimeo 播放器上添加覆盖层

    这是我嵌入到我的网站中的视频 Fiddle https jsfiddle net hgtvqatm 问题是 它很小 并且播放和其他按钮覆盖了半个屏幕 那么有什么方法可以在播放器上添加图层图像 当您单击该图像时 视频应该开始播放 http c
  • Jvectormap突出显示多个国家

    我目前正在使用J向量图 http jvectormap com 并试图在将鼠标悬停在文本上时突出显示多个国家 我已经达到了这样的程度 如果我将鼠标悬停在 非洲 一词上 它将突出显示整个地图 当我将鼠标悬停在内容上时 我将如何过滤它以仅突出显
  • 我应该如何从json字符串中读取数据? iPhone

    我有一个NSString van 1 312 vuan 12 123 为了获得每个键的值 我这样做 NSData data1 jsonResponse1 dataUsingEncoding NSUTF8StringEncoding json
  • 如何修复“[08S01]通信链路故障最后一个数据包成功发送到服务器是在 0 毫秒前。”

    我正在使用 PhpStorm DataGrip MySQL WAMP 开发一个 PHP 项目 从那时起 我就可以使用这些配置正常使用远程数据库 参见图片 但突然我收到这个错误 08S01 通信链路故障 最后一次成功发送到服务器的数据包是在
  • 当表无法返回值时,如何抓取表? (美汤)

    以下是我的代码 import numpy as np import pandas as pd import requests from bs4 import BeautifulSoup stats page requests get htt
  • 父窗口是否可以通知子窗口是否已关闭?

    I have parent window opener and child popup parent gt opens popup child 假设 在父页面中 我有 js 函数hello 为了让子窗口在子窗口关闭时调用父窗口的 hello
  • 如何正确包含 cordova 插件的外部 jar 文件?

    我正在尝试制作一个简单的 cordova android 插件 它需要在 jar 文件中定义的类 我有一个测试项目here https github com konsumer testpebble 其中包括示例用法和我的插件的简化版本 在我
  • 在 Powershell 中复制整个文件夹结构,无需重新创建根文件夹

    我有一个像这样的源文件夹 source folder gt sub folder1 gt sub folder2 gt sub folder3 where sub folder1 sub folder2 and sub folder3自己有
  • 在 Weka 中对单实例进行分类

    我使用 WEKA gui 训练并创建了 J48 模型 我将模型文件保存到我的计算机上 现在我想用它对我的 Java 代码中的单个实例进行分类 我想获得对属性 簇 的预测 我所做的如下 public void classify double
  • 错误:隐式常量转换中溢出 [-Werror=overflow]

    错误 隐式常量转换中溢出 Werror overflow include
  • 机器人框架:有没有办法编写动态测试用例?

    我对机器人框架很陌生 我想动态创建测试用例 而无需输入键值驱动方法 发现一些材料提出以下建议 suite TestSuite Example suite doc tc TestCase Example test tc add step Te
  • 从子文档数组中检索字段值

    我有一些这样的文件 hash 14a076f9f6cecfc58339330eeb492e267f63062f6d5f669c7cdbfecf9eb4de32 started services deleted files software
  • CSS 背景 URL

    有人可以帮助解释一下背景图像的 CSS URL 到底是如何工作的吗 CSS 到底如何知道从哪里开始查找 URL 例如我有这 3 个 URL web content background URL images background jpg w
  • 在WAMP上开发LAMP是不是很蠢?

    在与开源有些疏远并花了几年时间开发 Web 应用程序之后ASP NET https en wikipedia org wiki ASP NET 我将开始进行大量的 PHP MySQL 开发 我已经很轻松地安装了Wamp服务器 https w
  • Core Data NSPredicate 按实体类过滤?

    我将如何创建一个NSPredicate按类实体过滤Contact 解决方案为NSPredicate 检查对象类的种类 https stackoverflow com a 8065935 242933崩溃 NSPredicate predic
  • 标头中没有 no-cors 时无法获取 POST

    在提出这样的请求时 return fetch http localhost 8000 login method POST headers new Headers Content Type application json Accept ap
  • 如何以编程方式知道 NodeJS 应用程序何时内存不足

    我如何知道我的应用程序内存不足 对我来说 我在服务器上进行一些视频转码 有时会导致内存不足错误 因此 我希望知道应用程序何时耗尽内存 以便我可以立即终止视频转码器 谢谢 您可以看到内置的内存正在使用多少process module cons