JavaScript堆内存耗尽

1.##尝试了重启物理机成功发布了,但是项目运行又出了问题,所以还是要找到文件,调整内存大小。

问题思路。

node的堆栈默认1024,给他调到2048

linux修改node堆栈配置命令

在Linux上修改Node.js的堆栈配置,可以通过以下命令来实现:

  1. 找到Node.js的配置文件

  2. linux上yum查找文件

    在Linux上,可以使用yum命令来查找文件。具体的命令如下:

    yum provides */文件名

    其中,文件名是你要查找的文件名。这个命令会在系统中的所有软件包中搜索包含该文件的软件包,并显示相关的信息。

    如果你想要查找特定软件包中的文件,可以使用以下命令:

    yum search 软件包名
  3. 在配置文件中找到NODE_OPTIONS变量,并将其值修改为你想要的堆栈配置。例如,如果你想要设置堆栈大小为2GB,可以将NODE_OPTIONS的值修改为--max-old-space-size=2048

  4. 保存并关闭配置文件。

  5. 重新启动Node.js服务,以使配置生效。

     linux查看node的具体信息

要查看Linux上Node的具体信息,可以使用以下命令:

  1. 查看Node版本:

  2. node -v

  3. 查看Node安装路径

  4. which node

  5. 查看Node的安装目录:

dirname $(which node)
  1. 查看Node的安装配置信息:

node -p process.config
  1. 查看Node的运行时环境信息:

node -p process.versions
  1. 查看Node的内存使用情况:

node -p process.memoryUsage()

Linux系统下有几个与堆栈相关的系统参数:

1. ulimit -s:此参数用于限制进程的堆栈大小。可以使用该命令来查看和更改进程的堆栈大小限制。

2. /proc/sys/kernel/stack-protect:此参数用于控制是否启用堆栈保护。堆栈保护可防止堆栈缓冲区溢出攻击。

3. /proc/sys/vm/overcommit_memory:此参数用于控制内存的分配行为,包括堆栈的分配。可以设置为0、1、2三种值,分别表示不检查内存是否足够、检查物理内存是否足够、检查物理内存和交换空间是否足够。

4. /proc/sys/kernel/threads-max:此参数用于限制系统中可以创建的线程数量。当过多的线程被创建时,会导致堆栈溢出和性能问题。

搞一天了,没有彻底解决这问题,研究中

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值