
如题,各位大佬有没有什么好的方式去监控假死的程序呢?
1 askfilm 2018-11-14 17:48:36 +08:00 定时重启 |
2 OMGZui 2018-11-14 17:52:37 +08:00 定时重启+supervisor 监控 |
5 cloverstd 2018-11-14 17:58:30 +08:00 健康检查 |
7 skymei 2018-11-14 18:28:29 +08:00 如果这种持续运行的消费者,生产者模式,我觉得还是搞清楚为什么假死比较好..,监控手段肯定有一点延迟 |
8 Exceptions 2018-11-14 18:32:47 +08:00 可以做个心跳包 |
9 x66 2018-11-14 18:37:01 +08:00 via iPhone 多部署几份,如果全挂了就找原因吧。 |
10 anyele 2018-11-14 18:44:45 +08:00 via Android 先找为什么会死 |
11 via 2018-11-14 18:53:19 +08:00 via iPhone 楼主可以参考一下 laravel 的 shedule,或者使用 supervisor 等 pm 工具 |
12 lujiajing1126 2018-11-14 19:05:26 +08:00 为什么不是找到假死的原因 |
13 zakokun 2018-11-14 19:06:52 +08:00 不可能莫名其妙就 i 假死的,要确认具体原因 |
14 pandanrain 2018-11-14 20:31:12 +08:00 |
15 visonme 2018-11-14 20:39:07 +08:00 前面都提到了,定时重启,健康检查(模拟网络通信中心跳包方式来处理) 但是最好的方式还是先假设下可能假死的原因,然后针对各种原因去做方案吧 |
16 0xff0x77 2018-11-14 21:10:42 +08:00 一般一个程序,是不可能无缘无故假死的,楼主可能是 windows 程序用多了,得到了假死这个概念。 假死一定要找到原因,如果是内存溢出,不会找调用栈的话,考虑定时重启,当然治标不治本。 |
17 Joyboo 2018-11-15 10:37:51 +08:00 我们目前是运维做了一个监控警报,监控那几个进程,挂掉了就电话邮件微信报警,然后每天凌晨定时重启 |
18 geligaoli 2018-11-15 10:53:55 +08:00 php 长期运行,几乎肯定会死的。我都是每次运行玩一批任务就退出,在 shell 脚本中循环调用。 |