V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NobodyVe2x
V2EX  ›  Node.js

NodeJS 阿里云服务器,经常遇到整个服务器卡死,系统盘读操作被占满

  •  1
     
  •   NobodyVe2x · 2025 年 6 月 22 日 · 5593 次点击
    这是一个创建于 208 天前的主题,其中的信息可能已经有所发展或是发生改变。

    经常遇到整个服务器卡死,系统盘读操作被占满,内存确是正常

    补充一下,这个项目使用 bytenode 编译后文件在跑,不是源代码跑。

    axios 也做了统一处理

    const axios = require('axios'); const https = require('https');

    // 全局 10 秒超时 axios.defaults.timeout = 10000;

    // 创建自定义的 HTTPS 代理,限制连接数 const httpsAgent = new https.Agent({ keepAlive: true, keepAliveMsecs: 30000, maxSockets: 30, // 限制并发连接数 maxFreeSockets: 5, // 限制空闲连接数 timeout: 10000, // 连接超时 });

    // 创建 axios 实例 const apiClient = axios.create({ httpsAgent: httpsAgent, timeout: 10000, // 请求超时 maxRedirects: 3, });

    module.exports = apiClient

    有没有大佬能出出主意,到底是哪里出问题了?

    41 条回复    2025-07-03 10:15:05 +08:00
    NobodyVe2x
        1
    NobodyVe2x  
    OP
       2025 年 6 月 22 日
    补充一下: 某一个时间点突然系统盘的读操作 从两三分钟内飙升到 2000/s , 平时就 5 以下。 出现过好多次,但是不知道原因。
    foxhunt
        2
    foxhunt  
       2025 年 6 月 22 日
    可能是服务器配置较低造成

    当时 docker 跑 gitlab 时,出现过 IO 飙升的情况
    进行了多种尝试,包括开启 swap 等,均无效果

    后来换了 gitea 就好了

    升配下观察下
    NobodyVe2x
        3
    NobodyVe2x  
    OP
       2025 年 6 月 22 日
    @foxhunt 好的, 配置确实不高
    humbass
        4
    humbass  
       2025 年 6 月 22 日 via Android
    bytenode 不会是加密了整个项目吧,适当的逻辑,或者方案啥的抽出来,加密下就 OK 了。
    NobodyVe2x
        5
    NobodyVe2x  
    OP
       2025 年 6 月 22 日 via Android
    @humbass 是加密了整个项目, 其实抽出来核心逻辑就行,没必要整个项目都加密
    dfdd1811
        6
    dfdd1811  
       2025 年 6 月 22 日   ❤️ 1
    我司好多阿里的设备,上面有 k8s ,但是有些甚至没有很高负载,表现就是突然硬盘读写飙升,然后卡死,ssh 上不去,只能重启。无解,找不到原因,而且配置都不低的,只能确认业务然后重启
    seansong
        7
    seansong  
       2025 年 6 月 22 日
    有没有可能是代码中不适当的 require 或者 read 什么了

    以前我遇到过一个类似的磁盘问题,最后发现是阿里云的云盾进程在发癫,卸载掉就好了。op 可以在控制台看一下具体是什么进程在疯狂的读取,进一步判断一下
    rekulas
        8
    rekulas  
       2025 年 6 月 22 日
    怀疑还是内存不足导致,复制复制镜像升级到一个大内存的对比测试下
    songtianlun
        9
    songtianlun  
    PRO
       2025 年 6 月 23 日 via Android
    是不是内存不足疯狂切换导致 IO 彪高。我遇到过好多次,严重时都得强制重启。
    Martin123123
        10
    Martin123123  
       2025 年 6 月 23 日
    轻量云还是 ecs ,建议看一下 CPU 积分
    lawfun
        11
    lawfun  
       2025 年 6 月 23 日
    用 vscode remote 远程开发连腾讯云和阿里云 轻量云 也是经常卡死,磁盘 100%
    3825995121
        12
    3825995121  
       2025 年 6 月 23 日   ❤️ 1
    你大概没有限制程序的内存
    程序把内存用完了之后
    就会使用磁盘来写内存
    磁盘读写直接拉满
    然后就卡死了
    排查
    先查看死机之前的内存 是不是 100%了
    3825995121
        13
    3825995121  
       2025 年 6 月 23 日
    nodejs 内存泄漏很正常
    最好用容器来部署应用 限制内存 到一定阈值就重启程序
    peasant
        14
    peasant  
       2025 年 6 月 23 日   ❤️ 1
    贴一个阿里云轻量和腾讯云轻量的 IO 测试对比
    阿里云:2vCPU/1GiB-ESSD 云盘/30GiB
    腾讯云:CPU - 1 核 内存 - 2GB 系统盘 - SSD 云硬盘 50GB

    测试方式:fio --name=randread --rw=randread --bs=4k --size=512M --numjobs=8 --iodepth=32 --runtime=30 --ioengine=libaio --direct=1 --group_reporting

    测试结果:


    手里没有阿里云 50G 硬盘的,轻量,不知道表现怎么样。
    abelai
        15
    abelai  
       2025 年 6 月 23 日   ❤️ 1
    碰到过服务器内存不够,还剩个 100m 左右的内存 ,然后有个定时任务 dnf-makecache 一执行就会 io 飙升,然后服务器卡死 ssh 都连不上,只能强制重启
    vvong
        16
    vvong  
       2025 年 6 月 23 日
    碰到过 strapi 项目 npm run build 的时候直接磁盘拉爆 需要手动重启服务器
    需要先停止 pm2 然后再构建 还是会出现 磁盘直接拉满的情况
    cwliang
        17
    cwliang  
       2025 年 6 月 23 日
    内存正常,读盘被占满,是不是有什么循环遍历的同步 IO 操作?
    zeusho871
        18
    zeusho871  
       2025 年 6 月 23 日 via Android   ❤️ 1
    就是阿里云垃圾,硬盘限速很厉害不给你跑满,遇到内存炸了就走 swap 然后整个机器都崩溃了🤣
    mark2025
        19
    mark2025  
       2025 年 6 月 23 日
    @foxhunt GitLab 对于资源要求比较高,至少 4c16g ,和 docker 无关。
    mark2025
        20
    mark2025  
       2025 年 6 月 23 日
    @peasant tx 云 1C 比阿里云 2C 还要强?
    sagaxu
        21
    sagaxu  
       2025 年 6 月 23 日
    阿里云硬盘就是垃圾,低配 IOPS 只有 2000 ,用超了很可能会死机,后台重启要好几分钟。

    把阿里云盾之类的全部禁用掉,swap 也禁用,内存占用不要超 90%,我这么做之后就没遇到过了。
    peasant
        22
    peasant  
       2025 年 6 月 23 日
    @mark2025 这个是磁盘 IO ,跟 CPU 应该没啥关系,我看阿里云描述是硬盘越大给的 IO 越高,但是这个 30G 的就给这么点,确实很抠,不知道 50G 能给多少。
    displayabc
        23
    displayabc  
       2025 年 6 月 23 日
    之前用阿里云,内存一旦爆满,100%死机
    baiduyixia
        24
    baiduyixia  
       2025 年 6 月 23 日
    同样遇到了
    ChrisFreeMan
        25
    ChrisFreeMan  
       2025 年 6 月 23 日
    JS 真的非常容易内存泄露,我有点想回去写 swift 了。。也许 swift 才是我的真爱。
    viking602
        26
    viking602  
       2025 年 6 月 23 日
    我一直以为就我这样 原来大家都会这样 我那台阿里也是很容易就把 io 写满然后宕
    yh7gdiaYW
        27
    yh7gdiaYW  
       2025 年 6 月 23 日
    开了 swap 或类似功能的东西吧,阿里云对吞吐量上限卡的非常严格,连续满载的表现就是系统无响应
    yh7gdiaYW
        28
    yh7gdiaYW  
       2025 年 6 月 23 日   ❤️ 1
    阿里云默认的 vm.swappiness 是 0 (不确定是不是所有系统都这样),优点是性能稳定,缺点是低配机器上容易导致卡死。可以把这个值调大一点,我目前设的是:sudo sysctl vm.swappiness=20
    hugqq
        29
    hugqq  
       2025 年 6 月 23 日
    阿里服务器的内存爆了就会卡死,这是阿里的通病
    jinlong
        30
    jinlong  
       2025 年 6 月 23 日
    经验告诉我,你爆内存了。升级 1G 内存,IO 就下来了
    iv8d
        31
    iv8d  
       2025 年 6 月 23 日 via Android
    估计就是给的 io 不够
    NobodyVe2x
        32
    NobodyVe2x  
    OP
       2025 年 6 月 23 日 via Android
    @seansong 感谢,可以从这个方向查一下
    NobodyVe2x
        33
    NobodyVe2x  
    OP
       2025 年 6 月 23 日 via Android
    @Martin123123 我是轻量云,什么是 cpu 积分呀
    realpg
        34
    realpg  
    PRO
       2025 年 6 月 23 日
    内存炸了而已...
    而且你大概率是轻量...

    轻量属于娱乐用的...
    NobodyVe2x
        35
    NobodyVe2x  
    OP
       2025 年 6 月 23 日
    @sagaxu 感谢大佬回复,应该有用
    sphawkcn
        36
    sphawkcn  
       2025 年 6 月 24 日
    轻量云便宜,慢点就慢点,可以理解。

    但是会卡死,而且卡死后必须手动重启来解决就很恼火了。
    johnnyyeen
        37
    johnnyyeen  
       2025 年 6 月 24 日
    只有读磁盘没有写?虚拟内存换页?
    johnnyyeen
        38
    johnnyyeen  
       2025 年 6 月 24 日
    我们大量业务都是 Nodejs ,没有遇到这种
    NobodyVe2x
        39
    NobodyVe2x  
    OP
       2025 年 6 月 25 日 via Android
    @johnnyyeen 这几天分析下来,应该就是内存爆炸了,疯狂 swap ,硬盘就超 io 了,然后死机了,只能强制重启
    best66
        40
    best66  
       2025 年 7 月 3 日 via iPhone   ❤️ 1
    阿里云真的垃圾,排查了好久,实测 vm. swappiness 设置到 60 可以解决。
    NobodyVe2x
        41
    NobodyVe2x  
    OP
       2025 年 7 月 3 日 via Android
    @best66 感谢分享
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2644 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 04:54 · PVG 12:54 · LAX 20:54 · JFK 23:54
    ♥ Do have faith in what you're doing.