服务器CPU使用率过高排查与解决思路
发现服务器的cpu使用率特别高
排查思路:
-使用top或者mpstat查看cpu的使用情况
# mpstat -P ALL 2 1
Linux 2.6.32-358.el6.x86_64 (linux—host) 01/05/2016 _x86_64_ (24 CPU)
04:41:13 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
04:41:15 PM all 0.56 0.00 0.25 0.00 0.00 0.04 0.00 0.00 99.14
04:41:15 PM 0 3.08 0.00 1.03 0.00 0.00 0.51 0.00 0.00 95.38
04:41:15 PM 1 1.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 98.00
04:41:15 PM 2 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 99.00
04:41:15 PM 3 1.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 98.51
04:41:15 PM 4 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50
04:41:15 PM 5 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 99.00
04:41:15 PM 6 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 99.00
04:41:15 PM 7 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50
04:41:15 PM 8 0.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 99.00
04:41:15 PM 9 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50
04:41:15 PM 10 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:41:15 PM 11 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50
04:41:15 PM 12 1.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 98.00
04:41:15 PM 13 1.50 0.00 0.50 0.00 0.00 0.00 0.00 0.00 98.00
04:41:15 PM 14 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:41:15 PM 15 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:41:15 PM 16 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50
04:41:15 PM 17 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50
04:41:15 PM 18 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50
04:41:15 PM 19 0.50 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.50
04:41:15 PM 20 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:41:15 PM 21 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:41:15 PM 22 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
04:41:15 PM 23 0.00 0.00 0.50 0.00 0.00 0.00 0.00 0.00 99.50
-top找出占用高的进程ID
-查看进程占用线程数量,如java:
# ps -eLf|grep java|wc -l
1065
解决CPU使用不均或者使用过高的问题
taskset
taskset是LINUX提供的一个命令(ubuntu系统可能需要自行安装,schedutils package)。他可以让某个程序运行在某个(或)某些CPU上。
1)显示进程运行的CPU
# taskset -p 3495
pid 3495's current affinity mask: ffffffff
注:显示结果的ffffffff实际上是二进制32个低位均为1的bitmask,每个1对应于1个CPU,表示该进程在32个CPU上运行
2)指定进程运行在某个特定的CPU上
# taskset -pc 3 3495
显示结果:
pid 3495's current affinity list: 0-31
pid 3495's new affinity list: 3
注:3表示CPU将只会运行在第4个CPU上(从0开始计数)
3)进程启动时指定CPU
# taskset -c 1 ./redis-server ../redis.conf
服务器CPU使用率过高排查与解决思路的更多相关文章
- 排查tomcat服务器CPU使用率过高
tomcat要运行依赖于JDK,tomcat服务器的CPU使用率过高,大多都是因为部署的web程序的问题. 一.现象描述 在一次线上环境,前台访问页面的速度越来越慢,从浏览器F12中看到发出的请求都是 ...
- 服务器CPU使用率高的原因分析与解决办法
我们的服务器在使用操作系统的时候,用着用着系统就变慢了,打开“ 任务管理器 ”一看,才发现CPU使用率达到80%以上.这是怎么回事情呢?遇到病毒了吗?硬件有问题?还是系统设置有问题呢?在本文中将从硬件 ...
- kubelet CPU 使用率过高问题排查
kubelet CPU 使用率过高问题排查 问题背景 客户的k8s集群环境,发现所有的worker节点的kubelet进程的CPU使用率长时间占用过高,通过pidstat可以看到CPU使用率高达100 ...
- mysql cpu使用率过高解决方法
mysql cpu使用率过高解决方法 1 mysql查看正在运行的语句 并且查看运行最多的mysql语句 MySQL 打开 general log 后,所有的查询语句都会记录在 general log ...
- 服务器cpu负载过高问题排查
https://blog.csdn.net/MrZhangXL/article/details/77711996 第一步 :执行top命令,查出当前机器线程情况 top - 09:14:36 up 1 ...
- 空循环导致CPU使用率很高
业务背景 业务背景就是需要将多张业务表中的数据增量同步到一张大宽表中,后台系统基于这张大宽表开展业务,所以就开发了一个数据同步工具,由中间件采集binlog消息到kafka里,然后我去消费,实现增量同 ...
- 《Troubleshooting SQL Server》读书笔记-CPU使用率过高(下)
<Troubleshooting SQL Server>读书笔记-CPU使用率过高(下) 第三章 High CPU Utilization. CPU使用率过高的常见原因 查询优化器会尽量从 ...
- 06 案例篇:系统的 CPU 使用率很高,但为啥却找不到高 CPU 的应用?
上一节我讲了 CPU 使用率是什么,并通过一个案例教你使用 top.vmstat.pidstat 等工具,排查高 CPU 使用率的进程,然后再使用 perf top 工具,定位应用内部函数的问题.不过 ...
- 06讲案例篇:系统的CPU使用率很高,但为啥却找不到高CPU的应用
小结 碰到常规问题无法解释的 CPU 使用率情况时,首先要想到有可能是短时应用导致的问题,比如有可能是下面这两种情况. 第一,应用里直接调用了其他二进制程序,这些程序通常运行时间比较短,通过 top ...
随机推荐
- Linux改变进程优先级的nice命令
前言: VPS普遍性能不高,很多人可能有这样一个感受,在执行du.tar等命令时,会造成系统负载飙升,Apache响应缓慢.这时nice命令改变进程优先级可能能缓解这种状况.nice命令用于调整Lin ...
- NOI2014 起床困难综合症
3668: [Noi2014]起床困难综合症 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 225 Solved: 153[Submit][Stat ...
- Sum It Up
http://acm.hdu.edu.cn/showproblem.php?pid=1258 Sum It Up Time Limit: 2000/1000 MS (Java/Others) M ...
- 多组 RadioButtonList 获取值
<div class="row"> <table> <thead><tr><th>操作</th ...
- Asm Shader Reference --- Shader Model 2.x part
ps部分 概览 Instruction Set Name Description Instruction slots S ...
- 从微信推送看Android Service的创建和销毁
启动服务是有两组参数影响服务的状态. 1.在onStartCommand(Intent intent, int flags, int startId) 接口中返回值,例如 START_STICKY; ...
- Codevs 1222 信与信封问题 二分图匹配,匈牙利算法
题目: http://codevs.cn/problem/1222/ 1222 信与信封问题 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题解 ...
- HDOJ-ACM1014(JAVA)
这道题题意: 求最大公约数,最大公约数是1,则GOOD,否则BAD 注意: 输出时,如果是System.out.printf("%10d%10d Good Choice\n\n&quo ...
- poj1515--Street Directions(边的双连通)
给一个无向图,要求变成强连通的有向图,需要保留哪些边. 边的双连通,对于桥保留两条边,其他的只保留一条边.求双连通的过程中记录保留边. /******************************* ...
- Java同步块(synchronized block)使用详解
Java 同步块(synchronized block)用来标记方法或者代码块是同步的.Java同步块用来避免竞争.本文介绍以下内容: Java同步关键字(synchronzied) 实例方法同步 静 ...