EasyCVR在Linux版本下出现CPU暴涨后问题定位方法

TSINGSEE青犀视频开发的视频平台都具备Windows和Linux的运行版本,可以根据需求*选择。当遇到项目现场有流量较大的情况,大多数用户都比较担心对CPU的占用,这种情况可以通过开启按需播放来缓解CPU压力。但是在此种情况外,如果仍有CPU不正常的暴涨,应该如何排查?

EasyCVR在Linux版本下出现CPU暴涨后问题定位方法

有的项目现场将EasyCVR部署到Linux服务器上后,运行1周后出现CPU暴涨的现象,占用率一直维持在98%,无法降下来。

EasyCVR在Linux版本下出现CPU暴涨后问题定位方法

解决问题的第一步是需要找出CPU高的原因。Linux提供了一些系统指令,可以直接定位到消耗CPU的具体线程,下面将介绍如何定位CPU高的问题。

1.工具安装pstack : yum install gdb -y

EasyCVR在Linux版本下出现CPU暴涨后问题定位方法

然后执行指令重定向输出到a.log文件中
pstack 进程ID >a.log

2.查看线程CPU占用

Ps -T -p 线程ID

EasyCVR在Linux版本下出现CPU暴涨后问题定位方法

可以看到线程ID为12739和12380两个线程占用的CPU均为95%,这是一个2核的CPU,所以CPU已经满了。

3、根据2中定位的线程id,在a.log中定位具体线程信息,发现2个线程占用CPU满的原因是出现了死锁。

EasyCVR在Linux版本下出现CPU暴涨后问题定位方法

到目前为止已经定位出CPU暴涨且无法下降的原因了,接下来的步骤就是对具体问题进行具体的优化及解决即可,此处不过多赘述。

上一篇:AI视频结构化智能安防平台EasyCVR保护小区居民安全智能监控方案


下一篇:【解决方案】水库大坝安防视频监控平台搭建——EasyCVR视频结构化监控智能分析系统