-
Notifications
You must be signed in to change notification settings - Fork 73
拉取源代码更新后大量服务器资源被异常消耗 #872
Comments
暂时先别更新,有空我看一下。 我记得当初还不怎么会 js 的时候,有几个 fetch 的 Promise 我用了 try catch ,而实际上 try 并不能处理 Promise(未来的异常),可能这里有问题。改成同步的版本看一看。 |
感谢您的回复。为了确定高占用CPU和IO的具体线程,我可能还会让crontab自动执行更新脚本,因为我不确定手动执行该脚本是否会复现问题,并且从开始大量占用CPU到大量占用IO有几分钟的缓冲时间,差不多足够收集数据用了。 |
问题复现。我刚才查了一下深渊战绩情况,现在chromium大量占用CPU及内存,已持续5分钟。对应具体的子线程输出如下:
|
导致高IO占用的进程如下:
|
chromium 的问题我尽力了,感觉是 chromium 或者 puppeteer 有一个bug,会随机出现占用特别高的情况 io不太清楚 |
应该是老旧代码的锅,我这几天改改看看有没有效 @Nigel-NI 你先停掉定时任务吧 |
好的,给您添麻烦了,谢谢 |
你太客气了,假如有一天做测试可是要吃大亏的 _(:з」∠)_ |
@Nigel-NI 看下现在好了吗 |
拉取更新后bot似乎无法启动了,报错日志如下:
|
npm install |
试了好几遍 |
npm install npm run stop npm run init 看一下正常起来了没 |
还是失败了,报错内容如下:
|
这个不是错误,是有个 oicq 代码用了一个 deprecated 的函数,如果你卡在这儿了,那就是浏览器没起来 |
我看了下是因为低版本的 node-fetch 引入了一个过时版本的库 |
抱歉,我还是没有太理解,这一部分内容可以再解释地详细一些吗?我刚才尝试将node更新至最新版,但启动时还是遇到了相同的问题。 |
就是说这个问题可以忽略,这只是警告,不是错误 |
|
如果还有问题麻烦回复一下,我回滚一下代码,看上去 sync-fetch 的作者不太能短时间内搞定这个问题 |
要不还是先回滚吧,辛苦您了 |
你是 bot 起不来吗,不应该有这个问题的,另外你可以本地回滚, |
我不知道你在哪里出了问题,不过我在 Linux 和 Windows 都正常,你如果卡在 larsgw/sync-fetch#29 就很奇怪,如果是还遇到了这个 issue 反映的问题,那我在主线回滚一下
|
直接卡在浏览器拉起实例这一步了,直到我ctrl+c退出,都没有继续加载。 |
是不是拉卡池超时了,在 bot 的机器上跑一下俩命令看看能很快出来么 curl https://webstatic.mihoyo.com/hk4e/gacha_info/cn_gf01/gacha/list.json
curl https://webstatic.mihoyo.com/hk4e/gacha_info/cn_gf01/fecafa7b6560db5f3182222395d88aaa6aaac1bc/zh-cn.json |
emmm.....瞬间就出结果了 |
你本地先回滚吧,能用再说,回滚之后记得 npm install |
辛苦了,大概率是我的机器出了点问题chromium无法拉起,导致无法继续启动 |
因为回滚之后还是卡在相同的位置 |
重启解决一切问题,如果可以的话还是 |
不对啊,你的这个 issue 里贴的代码和你的提交对不上啊,提交是很新的提交,但是看代码的报错,是很久的了 |
我在主线回滚了,我觉得这个 issue 的错误日志和提交是不匹配的,不能当做 debug 的依据,所以根据日志分析得出的结论不可靠,对应的提交也应当回退,你愿意的话可以本地继续测试一下 |
目前这个 issue 所有的日志都是和现象不匹配的,这些错误应该发生在很久之前,如果出现频繁的卡顿,有可能是浏览器自身的原因,目前我做不了什么,假设计算浏览器的 object 设置超额重启也会遇到其他的问题,继续观望一下是否也有人遇到这个问题吧 |
版本更新后,你的定时任务记得改一下
如果还有死机问题回复一下 |
好的,谢谢 |
这个问题没了? |
问题描述
我编写了一个.sh文件以实现每天自动拉取上游源码并更新。但有时候使用脚本更新后,chromium被调用,主机CPU占用100%;随后约5分钟后磁盘io读取量达到110000kb/s以上,导致服务器直接瘫痪(此时htop显示CPU占用约16%,chromium进程不再大量消耗CPU)。服务器重启后恢复正常。
PS: 印象中导致高IO的其中一个进程是
Adachi-BOT/app.js
。占用CPU的chromium完整线程与高IO的具体进程将会在下次补充,因服务器出现问题时输入指令无响应而被迫重启,重启后问题进程消失复现流程
在crontab中定时调用脚本拉取更新。该问题概率出现,大约1-4天一次。脚本内容如下:
后台日志
当前提交
代码状态
The text was updated successfully, but these errors were encountered: