经常遇到整个服务器卡死,系统盘读操作被占满,内存确是正常
补充一下,这个项目使用 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
有没有大佬能出出主意,到底是哪里出问题了?
![]() | 1 NobodyVe2x OP 补充一下: 某一个时间点突然系统盘的读操作 从两三分钟内飙升到 2000/s , 平时就 5 以下。 出现过好多次,但是不知道原因。 |
2 foxhunt 109 天前 可能是服务器配置较低造成 当时 docker 跑 gitlab 时,出现过 IO 飙升的情况 进行了多种尝试,包括开启 swap 等,均无效果 后来换了 gitea 就好了 升配下观察下 |
![]() | 3 NobodyVe2x OP @foxhunt 好的, 配置确实不高 |
4 humbass 109 天前 via Android bytenode 不会是加密了整个项目吧,适当的逻辑,或者方案啥的抽出来,加密下就 OK 了。 |
![]() | 5 NobodyVe2x OP @humbass 是加密了整个项目, 其实抽出来核心逻辑就行,没必要整个项目都加密 |
6 dfdd1811 108 天前 ![]() 我司好多阿里的设备,上面有 k8s ,但是有些甚至没有很高负载,表现就是突然硬盘读写飙升,然后卡死,ssh 上不去,只能重启。无解,找不到原因,而且配置都不低的,只能确认业务然后重启 |
7 seansong 108 天前 有没有可能是代码中不适当的 require 或者 read 什么了 以前我遇到过一个类似的磁盘问题,最后发现是阿里云的云盾进程在发癫,卸载掉就好了。op 可以在控制台看一下具体是什么进程在疯狂的读取,进一步判断一下 |
![]() | 8 rekulas 108 天前 怀疑还是内存不足导致,复制复制镜像升级到一个大内存的对比测试下 |
9 songtianlun PRO 是不是内存不足疯狂切换导致 IO 彪高。我遇到过好多次,严重时都得强制重启。 |
10 Martin123123 108 天前 轻量云还是 ecs ,建议看一下 CPU 积分 |
![]() | 11 lawfun 108 天前 用 vscode remote 远程开发连腾讯云和阿里云 轻量云 也是经常卡死,磁盘 100% |
12 3825995121 108 天前 ![]() 你大概没有限制程序的内存 程序把内存用完了之后 就会使用磁盘来写内存 磁盘读写直接拉满 然后就卡死了 排查 先查看死机之前的内存 是不是 100%了 |
13 3825995121 108 天前 nodejs 内存泄漏很正常 最好用容器来部署应用 限制内存 到一定阈值就重启程序 |
![]() | 14 peasant 108 天前 ![]() |
15 abelai 108 天前 ![]() 碰到过服务器内存不够,还剩个 100m 左右的内存 ,然后有个定时任务 dnf-makecache 一执行就会 io 飙升,然后服务器卡死 ssh 都连不上,只能强制重启 |
16 vvong 108 天前 碰到过 strapi 项目 npm run build 的时候直接磁盘拉爆 需要手动重启服务器 需要先停止 pm2 然后再构建 还是会出现 磁盘直接拉满的情况 |
![]() | 17 cwliang 108 天前 内存正常,读盘被占满,是不是有什么循环遍历的同步 IO 操作? |
![]() | 18 zeusho871 108 天前 via Android ![]() 就是阿里云垃圾,硬盘限速很厉害不给你跑满,遇到内存炸了就走 swap 然后整个机器都崩溃了 |
![]() | 21 sagaxu 108 天前 阿里云硬盘就是垃圾,低配 IOPS 只有 2000 ,用超了很可能会死机,后台重启要好几分钟。 把阿里云盾之类的全部禁用掉,swap 也禁用,内存占用不要超 90%,我这么做之后就没遇到过了。 |
![]() | 22 peasant 108 天前 @mark2025 这个是磁盘 IO ,跟 CPU 应该没啥关系,我看阿里云描述是硬盘越大给的 IO 越高,但是这个 30G 的就给这么点,确实很抠,不知道 50G 能给多少。 |
![]() | 23 displayabc 108 天前 之前用阿里云,内存一旦爆满,100%死机 |
![]() | 24 baiduyixia 108 天前 同样遇到了 |
![]() | 25 ChrisFreeMan 108 天前 JS 真的非常容易内存泄露,我有点想回去写 swift 了。。也许 swift 才是我的真爱。 |
![]() | 26 viking602 108 天前 |
![]() | 27 yh7gdiaYW 108 天前 开了 swap 或类似功能的东西吧,阿里云对吞吐量上限卡的非常严格,连续满载的表现就是系统无响应 |
![]() | 28 yh7gdiaYW 108 天前 ![]() 阿里云默认的 vm.swappiness 是 0 (不确定是不是所有系统都这样),优点是性能稳定,缺点是低配机器上容易导致卡死。可以把这个值调大一点,我目前设的是:sudo sysctl vm.swappiness=20 |
![]() | 29 hugqq 108 天前 阿里服务器的内存爆了就会卡死,这是阿里的通病 |
30 jinlong 108 天前 经验告诉我,你爆内存了。升级 1G 内存,IO 就下来了 |
![]() | 31 iv8d 108 天前 via Android 估计就是给的 io 不够 |
![]() | 32 NobodyVe2x OP @seansong 感谢,可以从这个方向查一下 |
![]() | 33 NobodyVe2x OP @Martin123123 我是轻量云,什么是 cpu 积分呀 |
![]() | 34 realpg PRO 内存炸了而已... 而且你大概率是轻量... 轻量属于娱乐用的... |
![]() | 35 NobodyVe2x OP @sagaxu 感谢大佬回复,应该有用 |
36 sphawkcn 107 天前 轻量云便宜,慢点就慢点,可以理解。 但是会卡死,而且卡死后必须手动重启来解决就很恼火了。 |
37 johnnyyeen 107 天前 只有读磁盘没有写?虚拟内存换页? |
38 johnnyyeen 107 天前 我们大量业务都是 Nodejs ,没有遇到这种 |
![]() | 39 NobodyVe2x OP @johnnyyeen 这几天分析下来,应该就是内存爆炸了,疯狂 swap ,硬盘就超 io 了,然后死机了,只能强制重启 |
40 best66 98 天前 via iPhone ![]() 阿里云真的垃圾,排查了好久,实测 vm. swappiness 设置到 60 可以解决。 |
![]() | 41 NobodyVe2x OP @best66 感谢分享 |