遇到一个故障,一台4核服务器cpu利用率是10%负载却飙到23,先看下问题现场,截图如下:...... 浏览全部请点击运维网咖社地址:4核服务器cpu使用率10%负载飙到23.5故障排查 时间: 2024-10-29 19:06:47
最近发现公司服务器搭建的网站访问缓慢,服务器输入命令也反应慢,处理步骤如下: 1.通过top命令查看服务器CPU.内存.IO等使用情况 发现CPU基本在80%以上:内存还好,有富余:CPU平均加载率Load Average也是达到40左右 2.通过vmstat.iostat参看相关参数,确认是CPU占用很高,CPU不够用,当时以为服务器CPU被用完了,但是应用不是很多,两CPU是够用的 3.后来慢慢看进程和服务线程以及端口号占用和包发送,(w.procinfo.ps.uptime.netstat
当我们使用top命令查看系统的资源使用情况时会看到 load average,如下图所示.它表示系统在1.5.15分钟的平均工作负载.那么什么是负载(load)呢?它和CPU的利用率又有什么关系呢? load average:系统平均负载是CPU的Load,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息.这个数字越小越好. 1. CPU负载和CPU利用率的区别 CPU利用率:显示的是程序在运行期间
前面我们讨论系统调用的时候结论是耗时200ns-15us不等.不过我今天说的我的这个遭遇可能会让你进一步认识系统调用的真正开销.在本节里你会看到一个耗时2.5ms的connect系统调用,注意是毫秒,相当于2500us! 问题描述 当时是我的一个线上云控接口,是nginx+lua写的.正常情况下,单虚机8核8G可以抗每秒2000左右的QPS,负载还比较健康.但是该服务近期开始出现一些500状态的请求了,监控时不时会出现报警.通过sar -u查看峰值时cpu余量只剩下了20-30%. 图3.jpg
发现服务器的cpu使用率特别高 排查思路: -使用top或者mpstat查看cpu的使用情况# mpstat -P ALL 2 1Linux 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 %idle04:41:15 PM all 0.56 0.00 0.25 0.00 0.00 0.04
原因总结 产生的原因一句话总结就是:等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是cpu运行的进程却很少,这样就体现到负载过大了,cpu使用率低. 下面内容是具体的原理分析:在分析负载为什么高之前先介绍下什么是负载.多任务操作系统.进程调度等相关概念. 什么是负载 什么是负载:负载就是cpu在一段时间内正在处理以及等待cpu处理的进程数之和的统计信息,也就是cpu使用队列的长度统计信息,这个数字越小越好(如果超过CPU核心*0.7就是不正常) 负载分为两大部分:CPU负载.IO负载 例
一.找出cpu使用率高的进程和线程: a.将 cpu 占用率高的线程找出来: ps H -eo user,pid,ppid,tid,time,%cpu,cmd--sort=%cpu b.对于多线程的服务,通过top命令得到cpu使用率高的进程后,可以使用如下命令查看该进程下各线程cpu使用率 ps -eLo pid,lwp,pcpu | grep PID c.直接使用 ps Hh -eopid,tid,pcpu | sort -nk3 |tail 获取对于的进程号和线程号 二.gdb调试cpu使
2016-10-27 开发服务器病毒的一次解决 一:发现问题 早上9点左右,短信告警cpu使用达到100%,ssh连接不上,重启服务器,并没有解决cpu满载的情况,但可以用ssh连上了. 二:解决办法 遇到这种突然的cpu飙升,且用top命令看不到(shift+P)占用cpu特别大的进程,初步怀疑服务器中病毒了并且有可能执行着计划任务 查看计划任务 果然,计划任务显示,它在每分钟执行一个远程名为pm.sh脚本,经查,该ip地址为韩国 获取该脚本,内容如下: ===================
网上搜,东拼西凑,组装了一个可以查Linux服务器CPU使用率.内存使用率.磁盘空间占用率.负载情况的python脚本. 脚本内容如下: # -*- coding:utf-8 -*- - import os, time last_worktime=0 last_idletime=0 def get_cpu(): global last_worktime, last_idletime f=open("/proc/stat","r") line=""
目录 CPU:Cores, and Hyper-Threading? 超线程(Hyper-Threading?) 多核(multi-cores) CPU使用率计算 CPU使用率测试 如何计算CPU使用率 实现CPU使用率统计程序 CPU:Cores, and Hyper-Threading? 超线程(Hyper-Threading?) 超线程是Intel最早提出一项技术,最早出现在2002年的Pentium4上.单个采用超线程的CPU对于操作系统来说就像有两个逻辑CPU,为此P4处理器需要多加入