当前位置: 首页 > 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/.npmrcchromedriver-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/.npmrcNODE_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

相关文章:

  • Android Glide加载transform CenterCrop, CircleCrop ShapeableImageView圆形图并描边,Kotlin
  • 如何使用Flask开发RESTful API
  • 计算机毕业设计选题推荐-一周穿搭推荐微信小程序/安卓APP-项目实战
  • 关于解决前后端分离开发——跨域问题
  • OpenCV图像纹理
  • 如何解决小程序异步请求问题
  • 01_SHELL编程之变量定义(一)
  • PDF/X、PDF/A、PDF/E:有什么区别,为什么有这么多格式?
  • 7、使用真机调试鸿蒙项目
  • 基于 React 的 HT for Web ,由厦门图扑团队开发和维护 - 用于 2D/3D 图形渲染和交互
  • SpringCloud GateWay自定义过滤器之GatewayFilter和AbstractGatewayFactory
  • TensorFlow案例学习:图片风格迁移
  • 阿里云添加端口
  • 实时消息传送:WebSocket实现系统后台消息实时通知
  • 4月2日-3日·上海 | 3DCC 第二届3D细胞培养与类器官研发峰会携手CGT Asia 重磅来袭
  • ES6指北【2】—— 箭头函数
  • 【159天】尚学堂高琪Java300集视频精华笔记(128)
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 【跃迁之路】【463天】刻意练习系列222(2018.05.14)
  • 【知识碎片】第三方登录弹窗效果
  • 30秒的PHP代码片段(1)数组 - Array
  • Bootstrap JS插件Alert源码分析
  • create-react-app项目添加less配置
  • ECMAScript6(0):ES6简明参考手册
  • JAVA SE 6 GC调优笔记
  • NLPIR语义挖掘平台推动行业大数据应用服务
  • vue-cli在webpack的配置文件探究
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 前端路由实现-history
  • 前嗅ForeSpider采集配置界面介绍
  • 人脸识别最新开发经验demo
  • 如何合理的规划jvm性能调优
  • 入门级的git使用指北
  • 使用 Docker 部署 Spring Boot项目
  • ​ubuntu下安装kvm虚拟机
  • ​比特币大跌的 2 个原因
  • #NOIP 2014# day.1 T3 飞扬的小鸟 bird
  • ${factoryList }后面有空格不影响
  • (6)设计一个TimeMap
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)计算机毕业设计SSM智能化管理的仓库管理
  • (接口自动化)Python3操作MySQL数据库
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (学习日记)2024.01.19
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)德国人的记事本
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (转载)OpenStack Hacker养成指南
  • .NET Core 2.1路线图
  • .NET 服务 ServiceController
  • .net 生成二级域名
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NetCore实践篇:分布式监控Zipkin持久化之殇