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 服务器自动重启是常见的故障现象,可能由多种原因导致。在排查该问题时,可以按照以下步骤进行:
- 查看重启时间
首先,可以通过 last
或 uptime
命令查看重启时间。例如:
[root@localhost ~]# last
reboot Wed 2023-11-15 12:00:00 CST
这表示系统在 2023-11-15 12:00:00 CST 重启。
- 查看系统日志
系统日志通常会记录重启的原因。可以使用 grep
命令查找关键字,例如 panic
、error
、exception
和 shutdown
。例如:
[root@localhost ~]# cat /var/log/messages | grep -E -i "panic|error|exception|shutdown"
这将显示系统日志中包含上述关键字的行。
- 检查定时任务
定时任务可能会导致系统自动重启。可以使用 crontab -l
命令查看定时任务列表。
- 检查硬件故障
硬件故障也可能导致系统自动重启。可以检查 CPU、内存、磁盘、电源等硬件是否存在异常。
如果通过以上步骤仍无法确定重启原因,可以使用 kdump
和 crash
工具生成内核崩溃转储文件。然后,可以使用分析工具查看转储文件,以获取更多信息。
-
常见的导致Linux自动重启的原因
以下是一些常见的导致Linux自动重启的原因: -
软件错误:例如,某个程序存在错误,导致系统崩溃。
-
硬件故障:例如,内存损坏或电源故障。
-
配置错误:例如,系统配置文件存在错误。
-
恶意软件:例如,病毒或木马程序导致系统自动重启。
- 本文参考
GitHub上有人提过相关的 github-npm-ISSUE
statck overflow 也有相关记载: npm install stackoverflow
相关文章:

npm install导致的OOM解决方案
文章目录 问题记录解决方法Linux重启排查方法 如何排查Linux自动重启的原因 问题记录 我在华为云服务器配置npm开发环境的时候, SSH远程连接一直掉线,无奈提了工单,被告知是NPM install导致的OOM问题。无语了,破NPM还有这个问题呢…...

HTTP和HTTPS详解
一)什么是HTTP协议 1)HTTP协议是倾向于相遇业务层次上面的一种协议,传输层协议主要考虑的是端对端之间的一个传输过程,TCP重点进行关注的是可靠传输;咱们的HTTP/1,HTTP/2是基于TCP的,但是咱们的HTTP/3是基于UDP的&…...

设计模式之模版方法(TemplateMethod)
模版方法 钩子函数 回调函数 在父类里面有一个模版方法,在这个方法里面调用了op1,op2,op3… 在子类里面如果想要改变父类的op1和op2 只需要重写op1和op2,那么这个重写之后的方法,可以在父类里面直接调用的到 例子: J…...

为什么数据安全很重要?哪些措施保护数据安全?
数据安全很重要的原因是因为数据是现代社会的重要财产之一。很多组织和企业依赖数据来做出商业决策,管理客户关系,进行财务规划等等。如果这些数据泄露或遭到黑客攻击,那么就会影响企业的经济利益,甚至影响到个人的隐私和安全。此…...
git push 操作代码回退
git reset revert 回退回滚取消提交返回上一版本 总有一天你会遇到下面的问题. (1)改完代码匆忙提交,上线发现有问题,怎么办? 赶紧回滚. (2)改完代码测试也没有问题,但是上线发现你的修改影响了之前运行正常的代码报错,必须回滚. 这些开发中很常见的问题,所以git的取消提交…...

ESP32 Arduino引脚分配参考:您应该使用哪些 GPIO 引脚?
ESP32 芯片有 48 个引脚,具有多种功能。并非所有 ESP32 开发板中的所有引脚都暴露出来,有些引脚无法使用。 关于如何使用 ESP32 GPIO 有很多问题。您应该使用什么引脚?您应该避免在项目中使用哪些引脚?这篇文章旨在成为 ESP32 GP…...
【链接装载与库】 Linux共享库的组织
Linux共享库的组织 由于动态链接的诸多优点,大量的程序开始使用动态链接机制,导致系统里面存在数量 极为庞大的共享对象。如果没有很好的方法将这些共享对象组织起来,整个系统中的共享对象文件则会散落在各个目录下,给长期的维护…...

大模型时代的机器人研究
机器人研究的一个长期目标是开发能够在物理上不同的环境中执行无数任务的“多面手”机器人。对语言和视觉领域而言,大量的原始数据可以训练这些模型,而且有虚拟应用程序可用于应用这些模型。与上述两个领域不同,机器人技术由于被锚定在物理世…...
devops步骤 -- jenkins安装
安装的docker-compose ##安装步骤参考: https://editor.csdn.net/md/?articleId133070011 编写docker-compose.yml version: 3 services: # 集合docker_jenkins:user: root # 为了避免一些…...

docker命令大全
1、查看Docker 容器占用的空间 docker ps -s2、查看所有容器 docker ps -a3、启动、关闭、重启一个已存在的容器 docker start <容器ID> docker stop <容器ID> docker restart <容器ID> 4、进入容器,退出终端的时候不会关闭container的ma…...

【EI会议征稿】第三届区块链、信息技术与智慧金融国际学术会议 (ICBIS2024)
第三届区块链、信息技术与智慧金融国际学术会议 (ICBIS2024) The 3rd International Academic Conference on Blockchain, Information Technology and Smart Finance 第三届区块链、信息技术与智慧金融国际学术会议 (ICBIS2024) 将于2024年2月23-25日在马来西亚举行。本次会…...
算法岗面经
诸神缄默不语-个人CSDN博文目录 呃这个是我之前写的,理论上我应该搜集题目→做出解答这样的,但是我现在不再继续找工作了,所以感觉这些题目用不到了,我就直接把之前整理的这些资料发出来得了。 以后有缘分的话会继续补的…...
Vue 事件修饰符
Vue 事件修饰符 在 Vue 中,事件修饰符允许我们在处理 DOM 事件时添加一些特殊的修饰符,以便更方便地控制事件的行为。以下是常用的 Vue 事件修饰符: .stop .stop 修饰符用于阻止事件冒泡,即停止事件在父元素之间的传播。 示例…...

FD-Align论文阅读
FD-Align: Feature Discrimination Alignment for Fine-tuning Pre-Trained Models in Few-Shot Learning(NeurIPS 2023) 主要工作是针对微调的和之前的prompt tuining,adapter系列对比 Motivation: 通过模型对虚假关联性的鲁棒…...
bug:Junit5报错,@SpringBootTest没有运行
1、首先解决Junit5报错 java.lang.NoClassDefFoundError: org/junit/platform/launcher/core/LauncherFactory 添加依赖 implementation org.junit.platform:junit-platform-launcher:1.8.2java.lang.IllegalArgumentException: Error: test loader org.eclipse.jdt.internal.…...

Clickhouse学习笔记(4)—— Clickhouse SQL
insert insert操作和mysql一致 标准语法:insert into [table_name] values(…),(….)从表到表的插入:insert into [table_name] select a,b,c from [table_name_2] update 和 delete ClickHouse 提供了 Delete 和 Update 的能力,这类操作…...

Centos, RockyLinux 常用软件安装汇总
一、基本指令: 命令作用clear清屏pwd显示当前路径cat / more显示文本文档uname -a查看当前版本hostnamectl查看当前版本cat /etc/redhat-release查看当前版本free查看剩余内存df -h[查看磁盘剩余空间]du -sh 查看文件夹名"dir"占用的空间lsof -i:8080查看…...

Lua更多语法与使用
文章目录 目的错误处理元表和元方法垃圾回收协程模块面向对象总结 目的 在前一篇文章: 《Lua入门使用与基础语法》 中介绍了一些基础的内容。这里将继续介绍Lua一些更多的内容。 同样的本文参考自官方手册: https://www.lua.org/manual/ 错误处理 下…...

探秘亚马逊云科技海外服务器 | 解析跨境云计算的前沿技术与应用
目录 一、什么是海外服务器 二、不同主流海外云服务器对比 三、海外服务器的创建(亚马逊为例) 四、个人总结 一、什么是海外服务器 亚马逊云科技海外服务器:指的是部署在世界各地的亚马逊数据中心中的服务器设备。这些服务器提供了计算、存储、数据库、网络等各…...
UnityAI——动物迁徙中的跟随实现实例
大家好,我是七七,今天来给大家介绍的是Unity中用操控行为实现的跟随领队行为。 看本文若是想了解和实现,只看本文即可,若是想彻底弄透,建议从七七的游戏AI专栏开始看。 废话不多说,先上视频: …...

XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

MFC内存泄露
1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
JDK 17 新特性
#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持,不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的ÿ…...
OpenLayers 分屏对比(地图联动)
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 地图分屏对比在WebGIS开发中是很常见的功能,和卷帘图层不一样的是,分屏对比是在各个地图中添加相同或者不同的图层进行对比查看。…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
QT3D学习笔记——圆台、圆锥
类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...