• npm install导致的OOM解决方案


    问题记录

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

    解决方法

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

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

    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.
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48

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

    Linux重启排查方法

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

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

    1. 查看重启时间

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

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

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

    1. 查看系统日志

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

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

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

    1. 检查定时任务

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

    1. 检查硬件故障

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

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

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

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

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

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

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


    • 本文参考

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

  • 相关阅读:
    一些不错的VSCode设置和插件
    [附源码]计算机毕业设计JAVA学生档案管理系统论文
    Vue中的 v-cloak 指令
    cell delay和net delay
    vue监听Enter键
    最新最全面的Spring详解(三)——Resources,验证、数据绑定和类型转换与Spring表达式语言(SpEL)
    C++指针危险的原因
    [LeetCode周赛复盘] 第 315 场周赛20221016
    Greenplum学习笔记——第二部分:集群部署
    网上期货开户高效方便简单
  • 原文地址:https://blog.csdn.net/sexyluna/article/details/134375814