因为公司的架构体系非常老,所以其中没有中间件和数据库.
用户通过登录服务器访问文件的方式来获取数据,这导致CPU的usr%值非常高,在高峰期时Idle值经常低至百分之5%以下.
请问这种情况应该如何解决,或者说是应该如何监控CPU的性能,因为Idle值永远维持在20-%30%左右,所以部署的zabbix监控一直处于报警状态, 虽然cpu被用户进程占的慢慢的,但是也不会导致宕机,这种问题有办法解决,或者说是CPU的监控点应该放在哪?
我认为监控Idle值或者说是usr io sys值均没有意义啊. 求解!!
1:通过topas看下是什么进程吃光了cpu,是众多进程均分了cpu,还是个别结果进程独占了cpu。
2:系统cpu个数多少,活跃的进程是多少?
3:cpu的io wait高不高?磁盘的性能情况如何?
监控是必须要做的,但这个是一个不好回答的问题。如果监控的指标过低,说明系统很闲,资源浪费。如果监控的指标过高,说明系统长期处于疲于奔命状态,容易猝死。所以这个指标是要监控的,只是需要设置个合理的阀值而已。
收起像这种情况先通过ps 命令查看一下cpu使用率高的进程,看看是不是存在性能上的瓶颈,找出原因,一般应用上的可能性比较大,进而找出相应的解决办法。
查看最占用CPU的10个进程
#ps aux|grep -v USER|sort +2|tail -n 10
收起如果是均分的话,可能要应用的去查了。是不是有什么sleep或者什么循环类的东西,一直占用着cpu。要看应用程序里面是哪个模块一直占用着cpu。这个从系统层面很难查出来。
收起