当前位置: 首页 > news >正文

npm install导致的OOM解决方案

文章目录

    • 问题记录
    • 解决方法
    • Linux重启排查方法
  • 如何排查Linux自动重启的原因

问题记录

我在华为云服务器配置npm开发环境的时候, SSH远程连接一直掉线,无奈提了工单,被告知是NPM install导致的OOM问题。无语了,破NPM还有这个问题呢!
在这里插入图片描述

解决方法

在项目的跟路径下创建一个名为:.npmrc 的文件
在文件内部写入:

NODE_OPTIONS=--max-old-space-size=4096

4096 的单位是M, 如果还不够的话请自动调大一点。这个数字有个讲究,最好是1024的倍数哦。
然后可以通过命令: npm config ls 查看配置是否生效

base) ➜  gatsby-cds-blog git:(master)npm config ls
; "user" config from /Users/chendongsheng/.npmrc

chromedriver-cdnurl = "https://npm.taobao.org/mirrors/chromedriver" 
couchbase-binary-host-mirror = "https://npm.taobao.org/mirrors/couchbase/v{version}" 
debug-binary-host-mirror = "https://npm.taobao.org/mirrors/node-inspector" 
disturl = "https://npm.taobao.org/dist" 
electron-mirror = "https://npm.taobao.org/mirrors/electron/" 
flow-bin-binary-host-mirror = "https://npm.taobao.org/mirrors/flow/v" 
fse-binary-host-mirror = "https://npm.taobao.org/mirrors/fsevents" 
fuse-bindings-binary-host-mirror = "https://npm.taobao.org/mirrors/fuse-bindings/v{version}" 
git4win-mirror = "https://npm.taobao.org/mirrors/git-for-windows" 
gl-binary-host-mirror = "https://npm.taobao.org/mirrors/gl/v{version}" 
grpc-node-binary-host-mirror = "https://npm.taobao.org/mirrors" 
hackrf-binary-host-mirror = "https://npm.taobao.org/mirrors/hackrf/v{version}" 
home = "https://npm.taobao.org" 
leveldown-binary-host-mirror = "https://npm.taobao.org/mirrors/leveldown/v{version}" 
leveldown-hyper-binary-host-mirror = "https://npm.taobao.org/mirrors/leveldown-hyper/v{version}" 
mknod-binary-host-mirror = "https://npm.taobao.org/mirrors/mknod/v{version}" 
node-sqlite3-binary-host-mirror = "https://npm.taobao.org/mirrors" 
node-tk5-binary-host-mirror = "https://npm.taobao.org/mirrors/node-tk5/v{version}" 
nodegit-binary-host-mirror = "https://npm.taobao.org/mirrors/nodegit/v{version}/" 
operadriver-cdnurl = "https://npm.taobao.org/mirrors/operadriver" 
phantomjs-cdnurl = "https://npm.taobao.org/mirrors/phantomjs" 
profiler-binary-host-mirror = "https://npm.taobao.org/mirrors/node-inspector/" 
proxy = "http://127.0.0.1:7890" 
puppeteer-download-host = "https://npm.taobao.org/mirrors" 
python-mirror = "https://npm.taobao.org/mirrors/python" 
rabin-binary-host-mirror = "https://npm.taobao.org/mirrors/rabin/v{version}" 
registry = "https://registry.npmmirror.com/" 
sass-binary-site = "https://npm.taobao.org/mirrors/node-sass" 
sodium-prebuilt-binary-host-mirror = "https://npm.taobao.org/mirrors/sodium-prebuilt/v{version}" 
sqlite3-binary-site = "https://npm.taobao.org/mirrors/sqlite3" 
utf-8-validate-binary-host-mirror = "https://npm.taobao.org/mirrors/utf-8-validate/v{version}" 
utp-native-binary-host-mirror = "https://npm.taobao.org/mirrors/utp-native/v{version}" 
zmq-prebuilt-binary-host-mirror = "https://npm.taobao.org/mirrors/zmq-prebuilt/v{version}" 

; "project" config from /Users/chendongsheng/github/react_learner/gatsby-cds-blog/.npmrc

NODE_OPTIONS = "--max-old-space-size=4096" 

; node bin location = /usr/local/bin/node
; node version = v20.9.0
; npm local prefix = /Users/chendongsheng/github/react_learner/gatsby-cds-blog
; npm version = 10.1.0
; cwd = /Users/chendongsheng/github/react_learner/gatsby-cds-blog
; HOME = /Users/chendongsheng
; Run `npm config ls -l` to show all defaults.

在继续安装,如果还有该问题的话,请继续调大该值,直到解决问题。

Linux重启排查方法

如何排查Linux自动重启的原因

Linux 服务器自动重启是常见的故障现象,可能由多种原因导致。在排查该问题时,可以按照以下步骤进行:

  1. 查看重启时间

首先,可以通过 lastuptime 命令查看重启时间。例如:

[root@localhost ~]# last
reboot    Wed 2023-11-15 12:00:00 CST

这表示系统在 2023-11-15 12:00:00 CST 重启。

  1. 查看系统日志

系统日志通常会记录重启的原因。可以使用 grep 命令查找关键字,例如 panicerrorexceptionshutdown。例如:

[root@localhost ~]# cat /var/log/messages | grep -E -i "panic|error|exception|shutdown"

这将显示系统日志中包含上述关键字的行。

  1. 检查定时任务

定时任务可能会导致系统自动重启。可以使用 crontab -l 命令查看定时任务列表。

  1. 检查硬件故障

硬件故障也可能导致系统自动重启。可以检查 CPU、内存、磁盘、电源等硬件是否存在异常。

如果通过以上步骤仍无法确定重启原因,可以使用 kdumpcrash 工具生成内核崩溃转储文件。然后,可以使用分析工具查看转储文件,以获取更多信息。

  • 常见的导致Linux自动重启的原因
    以下是一些常见的导致Linux自动重启的原因:

  • 软件错误:例如,某个程序存在错误,导致系统崩溃。

  • 硬件故障:例如,内存损坏或电源故障。

  • 配置错误:例如,系统配置文件存在错误。

  • 恶意软件:例如,病毒或木马程序导致系统自动重启。


  • 本文参考

GitHub上有人提过相关的 github-npm-ISSUE
statck overflow 也有相关记载: npm install stackoverflow

http://www.dtcms.com/a/4033.html

相关文章:

  • 网络安全-学习手册
  • C#使用时序数据库 InfluxDB
  • WebSocket真实项目总结
  • 12. 机器学习——评价指标
  • 论文导读 | 融合大规模语言模型与知识图谱的推理方法
  • 初始MySQL(五)(自我复制数据,合并查询,外连接,MySQL约束:主键,not null,unique,foreign key)
  • STM32常见符号解释定义(持续更新)
  • HDU 1716:排列2 ← next_permutation()
  • YOLOv8-Seg改进:卷积变体系列篇 | DCNv3可形变卷积基于DCNv2优化 | CVPR2023
  • StackExchange.Redis 高并发下timeout超时问题如何解决?
  • 【万字长文】前端性能优化实践 | 京东云技术团队
  • 【java学习—十三】处理流之四和五:打印流和数据流(4)
  • 平价护眼台灯推荐,好用且性价比高的护眼台灯推荐
  • 聚观早报 |滴滴发布Q3财报;小鹏G9连续销量排行第一
  • VuePress介绍及使用指南
  • 7.jvm对象内存布局
  • MongoDB基础知识~
  • 【Python小程序】浮点矩阵加减法
  • Window安装MongoDB
  • Python 日志记录器logging 百科全书 之 日志回滚
  • 基于python+TensorFlow+Django卷积网络算法+深度学习模型+蔬菜识别系统
  • 【Java】集合(一)单列集合List
  • Windows系统下使用docker部署redis
  • 基于php+thinkphp的网上书店购物商城系统
  • 纯手写 模态框、消息弹框、呼吸灯
  • 文本生成高精准3D模型,北京智源AI研究院等出品—3D-GPT
  • nodejs+vue+python+PHP+微信小程序-安卓- 电影在线订票系统的设计与实现-计算机毕业设计推荐
  • 【Vue 透传Attributes】
  • TensorFlow 的基本概念和使用场景
  • Ubuntu18.04 安装docker教程