【nodejs 作为服务器修改最大堆内存】

这篇具有很好参考价值的文章主要介绍了【nodejs 作为服务器修改最大堆内存】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

查看node服务内存使用情况

查看node应用列表

pm2 list

结果:

id name mode status cpu memory
1 app fork 211 stopped 0% 0b
2 my-app fork 0 online 0% 0b

找到你先查看的项目 ,找到 script args ,这个就是最大值

在使用PM2管理Node.js进程时,默认情况下,PM2不会限制Node.js进程的最大堆内存值。这意味着,Node.js进程可以使用系统中可用的所有内存。

pm2 show 2

结果:

 Describing process with id 2 - name my-app 
┌───────────────────┬──────────────────────────────────┐
│ status            │ online                           │
│ name              │ my-app                           │
│ namespace         │ default                          │
│ version           │ 1.0.0                            │
│ restarts          │ 0                                │
│ uptime            │ 15s                              │
│ script path       │ /nodeJS/espot-middleware/app.js  │
│ ***script args***--max-old-space-size=2048        │
│ error log path    │ /root/.pm2/logs/my-app-error.log │
│ out log path      │ /root/.pm2/logs/my-app-out.log   │
│ pid path          │ /root/.pm2/pids/my-app-2.pid     │
│ interpreter       │ node                             │
│ interpreter args  │ N/A                              │
│ script id         │ 2                                │
│ exec cwd          │ /nodeJS/espot-middleware         │
│ exec mode         │ fork_mode                        │
│ node.js version   │ 16.14.0                          │
│ node env          │ N/A                              │
│ watch & reload    │ ✘                                │
│ unstable restarts │ 0                                │
│ created at        │ 2023-06-05T11:05:08.510Z         │
└───────────────────┴──────────────────────────────────┘

 Actions available 
┌────────────────────────┐
│ km:heapdump            │
│ km:cpu:profiling:start │
│ km:cpu:profiling:stop  │
│ km:heap:sampling:start │
│ km:heap:sampling:stop  │
└────────────────────────┘
 Trigger via: pm2 trigger my-app <action_name>

 Code metrics value 
┌────────────────────────┬───────────┐
│ Heap Size              │ 60.93 MiB │
│ Heap Usage             │ 45.41 %   │
│ Used Heap Size         │ 27.67 MiB │
│ Active requests        │ 0         │
│ Active handles         │ 6         │
│ Event Loop Latency     │ -0.05 ms  │
│ Event Loop Latency p95 │ 0.88 ms   │
└────────────────────────┴───────────┘
 Divergent env variables from local env 


 Add your own code metrics: http://bit.ly/code-metrics
 Use `pm2 logs my-app [--lines 1000]` to display logs
 Use `pm2 env 2` to display environment variables
 Use `pm2 monit` to monitor CPU and Memory usage my-app

修改内存的最大值

使用Node.js的 ​–max-old-space-size​标志来设置堆内存的最大值

例如,要将堆内存最大值设置为2GB,您可以使用以下命令:

node --max-old-space-size=2048 app.js

要查看Node.js应用程序的当前堆内存最大值

可以使用 ​process.memoryUsage()​方法。该方法返回一个对象,其中包含有关Node.js进程内存使用情况的信息,包括堆内存使用情况。以下是一个示例代码:

const used = process.memoryUsage();
console.log(`Heap memory maximum: ${used.heapTotal/1024/1024} MB`);

如果希望在应用程序运行时动态修改堆内存的最大值

则可以使用 ​v8​模块中的 ​setFlagsFromString()​方法。以下是一个示例代码:

const v8 = require('v8');
const maxHeapSize = 2048; // 2GB
v8.setFlagsFromString(`--max-old-space-size=${maxHeapSize}`);

如果使用pm2作为启动器:

增加ecosystem.config.js 文件在根目录

module.exports = {
    apps: [
        {
            name: "my-app",
            script: "./app.js",
            args: ["--max-old-space-size=2048"],
            max_memory_restart: "2G"
        }
    ]
};

max_memory_restart 是修改的最大堆内存 单位为MB或者GB

pm2的启动命令修改为文章来源地址https://www.toymoban.com/news/detail-631996.html

pm2 start ecosystem.config.js

到了这里,关于【nodejs 作为服务器修改最大堆内存】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用Nginx作为反向代理服务器

    简介 在本教学文章中,我们将学习如何使用Nginx作为反向代理服务器,将流量转发到后端服务器。反向代理是一种常见的应用场景,它可以帮助我们提高应用程序的可靠性、性能和安全性。本教程将介绍如何配置Nginx作为反向代理,并涵盖负载均衡和缓存设置。 前提条件 在开

    2024年02月13日
    浏览(48)
  • Ubuntu搭建Nodejs服务器

    转自:https://www.8kiz.cn/archives/3228.html 在Ubuntu上搭建Node.js服务器,按照以下步骤进行: 打开终端。 使用包管理器安装Node.js。可以使用以下命令安装Node.js: 安装Node.js后,你可以使用以下命令来检查Node.js版本: 安装npm(Node.js包管理器)。使用以下命令安装npm: 检查npm版本:

    2024年01月25日
    浏览(46)
  • 具有公网IP的服务器作为代理服务器,并使用Nginx将内网服务器反向代理

    在代理服务器上安装Nginx。如果您正在使用Linux操作系统,则可以使用包管理器来安装Nginx。例如,如果您使用的是Ubuntu,可以使用以下命令安装: 配置Nginx以将HTTP和HTTPS请求转发到内部服务器。打开Nginx的主配置文件/etc/nginx/nginx.conf,并在http块中添加以下代码: 注意: 将

    2024年01月25日
    浏览(51)
  • 把自己的电脑作为网络代理服务器

    背景:我手里有两台电脑,一个笔记本(可科学上网),一个台式机, 我想让这个笔记本成为台式机上网的代理服务器,这样我在使用台式机的时候也可以科学上网了。 设置完成后,台式机连上这个网络就ok了。

    2024年02月13日
    浏览(63)
  • nodejs发布静态https服务器

    2、执行npm install  新建public目录,并且随便在 public 目录下放个什么 html 文件,比如 test.html 。 用 npm start 启动服务,可以在 Chrome 浏览器内输入地址  https://127.0.0.1:8000/test.html 测试一下。 如果能看到,说明服务正常。

    2024年02月10日
    浏览(46)
  • 服务器上面安装nodejs react

    1、nvm管理nodejs 2、修改端口 /node_modules/react-scripts/scripts/start.js 3、 下面是一个简单的步骤来开始使用 React: 确保你的计算机上已安装 Node.js。你可以在命令行中输入 node -v 来检查是否已安装。 打开命令行工具,并进入你想要创建项目的目录。 运行以下命令来创建一个新的

    2024年01月23日
    浏览(50)
  • nginx 作为vue项目服务器简单配置

    一个简单配置就玩了。 我这个项目有个特殊的地方,一个项目用了两个后台,请求的地址就不一样,我是根据前端请求uri区别使用那个后端的。比如浏览器http://localhost/system/user/list就使用 localhost:8080后台,如果是http://localhost/business/xxxx就使用localhost:8081后台,nginx配置如下:

    2024年02月13日
    浏览(39)
  • OPENWRT 使用nginx作为web服务器

    在op上大家使用nginx作为web服务器,主要是为了其强大的反向代理功能,但op上的nginx官方做了一定的修改,配置上稍显复杂,几篇文章也是比较老的,配置也是一头雾水,作业都不好抄,索性自己查了资料学了些nginx的内容,实现了如下的功能: ####默认你已经完成 域名申请,

    2024年02月04日
    浏览(36)
  • 使用华为云HECS服务器+nodejs开启web服务

    简介: 在华为云HECS服务器上使用nodejs开启一个web服务。 目录 1.开通华为云服务器 2.远程登录 2.1 使用华为官方的网页工具登录        ​编辑 2.2 使用MobaXterm登录 3 安装node 3.1 下载 2. 配置环境变量 4. 安装express模块 5.开启外网访问         这里我已经开通过了。 2.1 使用华为

    2024年04月17日
    浏览(52)
  • 配置Nginx作为静态资源服务器及安全策略

    上一篇文章写了Nginx负载均衡实现方案详解,有同学私信我说能不能写一篇关于nginx代理静态资源的文章。当然没问题,这篇文章就分享一下如何配置Nginx作为静态资源服务器同时也分享一些常用的安全策略配置。 静态资源指的是在服务器端存储的不会变化的文件,这些文件的

    2024年02月21日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包