项目中稳定性问题的解决小结

本文详细阐述了解决项目稳定性问题的关键步骤,包括捕获和编码中断计数、改进ntp对时、优化ioalarm检测、调整ipmask设置、解决app重启死锁、增强日志记录与监控能力以及引入三星项目中的最佳实践。
摘要由CSDN通过智能技术生成
为了解决项目中的稳定性问题,

最近一个月努力加班加点,就是想要一个稳定的结果;主要做了如下工作:

1、捕捉和编码中断计数的添加:解决了原先可能存在的编码或捕捉失效之后,系统无作为的现象,此时添加了两者的计数检测,以便于失效后迅速重启系统;

2、ntp对时出现高cpu:在ntp线程中由于localtime的不安全性存在偶然的可能,得出一个不正确的struct tm然后再使用它时会导致高cpu,解决方法是全部换成localtime_r函数;

3、io alarm频繁报警:重新写了io触发检测线程,把原来检测电平跳变,改为检测电平有效值,修改配置文件,默认不报警;

4、ipmask设置线程的改善:发现原来在arp线程中存在重复设置ipmask的动作及偶尔也导致高CPU,稍作优化时让ipmask线程设置更合理;

5、app正常重启可能存在死锁的问题:解决了重启app时,共享buffer清除时可能存在的死锁问题;

6、在重启的地方添加了大量日志,并改写了moniror工具,让其可以监视所有指定进程的所有线程cpu情况,并在必要时写日志记录,便于现在和将来对问题定位;

7、添加了三星项目中的在创建子进程时的close-on-exec的fd属性;


经过一番努力批量拷机和问题抓取,修改,调试,最终经过验证,对24台机器进行批量拷机,循环连接等测速,最终系统稳定下来,目前除一台硬件电源不稳定的机器之外,其他都比较稳定。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值