文章插图
在日常运维过程中,经常碰到的问题,就是cpu使用率高达100%,那遇到这个问题时,需要怎么去解决呢,不知道方法的小伙伴,就会感觉一筹莫展 。如果知道方法,一步一步的去排查,很容易就能解决linux系统CPU资源耗尽的故障 。
首先我们要定位到底什么原因导致cpu使用率超标,先定位看看是什么进程消耗掉了cpu资源 。
第一步可以使用ps命令查看一下
ps aux|sort -n -k4|tail -20
上述命令可以查看消耗cpu资源最多的20个进程,不过是逆序的,这样能定位出是什么进程引起的CPU资源耗尽 。喜欢top的同学,也可以用top进行查看,top工具使用也是很方便,这里就简单介绍一下top的使用
在top里按cpu使用率排序top进入top界面之后,使用shift+p就可以按cpu进行排序
在top里按内存使用率排序top进入top界面之后,使用shift+m就可以按内存进行排序
到这里基本就可以定位到是什么进程占用了cpu资源,如果是MySQL进程消耗大量的cpu资源,该怎么去定位呢 。
数据库占用CPU资源,90%以上情况是因为慢sql导致,原理也很简单,因为慢sql会导致全表扫描,扫描数据量太大,内存排序,磁盘排序,锁争用等 。那怎么去排查呢,使用下面命令
show full processlist
查看到有sending data,copying to tmp table,copying to tmp table on disk,sorting result,using filesort,locked有这种状态的sql语句基本都是元凶了,杀掉这些慢sql查询就能解决问题,当然还得联系开发对相关程序进行优化处理 。【一步一步带你解决linux系统CPU资源耗尽难题】
推荐阅读
- 解决64位操作系统为Oracle服务器配置ODBC的问题
- Spring Boot 如何解决项目启动时初始化资源
- 从头带你捋一遍 MySQL 索引结构
- MySQL读写分离?MySQL主从复制原理?如何解决主从同步延时?
- 小程序开发之自动售货机解决方案
- 教你解决汽车常见小问题,再也不用去4S店挨宰了!
- 一分钟带你了解下Spring Security
- 一楼潮湿贴墙布好吗,一楼潮湿怎么办解决不了吗
- 汽车车机哪家强?5 大车机解决方案横评
- ssh-add linux Permission 0644 for are too open 错误解决方案