linux CPU使用率过高或负载过高的处理思路

1、查看系统CPU负载及使用率的命令为:top    vmstat

top 命令:查看进程级别的cpu使用情况。

vmstat 命令:查看系统级别的cpu使用情况。

下面通过具体的图例来分析:

1.1  top 命令可以查看进程的CPU、内存等资源的使用情况。      

在top命令运行过程中可以通过top的内部命令做显示方式的控制。

1- 开启或关闭显示所有cpu使用详细情况

  l - 关闭或开启第一部分第一行 top 信息的表示

  t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示

  m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示

  N - 以 PID 的大小的顺序排列表示进程列表(第三部分后述)

  P - 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)

  M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)

  h - 显示帮助

  n - 设置在进程列表所显示进程的数量

  q - 退出 top

  s - 改变画面更新频率(输入数字)

1.2 vmstat命令可以查看系统整体的cpu,内存的使用情况

r: 表示系统中 CPU 等待处理的线程。由于 CPU 每次只能处理一个线程,所以,该数值越大,通常表示系统运行越慢。

us:用户模式消耗的 CPU 时间百分比。该值较高时,说明用户进程消耗的 CPU 时间比较多,比如,如果该值长期超过 50%,则需要对程序算法或代码等进行优化。

sy:内核模式消耗的 CPU 时间百分比。

wa:IO 等待消耗的 CPU 时间百分比。该值较高时,说明 IO 等待比较严重,这可能磁盘大量作随机访问造成的,也可能是磁盘性能出现了瓶颈。

id:处于空闲状态的 CPU 时间百分比。如果该值持续为 0,同时 sy 是 us 的两倍,则通常说明系统则面临着 CPU 资源的短缺。

2、详细操作进程占用cpu较高和cpu负载较高

2.1 使用top直接终止cpu消耗大的进程:

top命令查看对cpu消耗大的进程,直接输入"k",然后输入相应进程的PID号即可终止该进程。

2.2 通过top观察cpu很空闲,但是负载比较高的情况:

load average 是对 CPU 负载的评估,其值越高,说明其任务队列越长,处于等待执行的任务越多。
          出现此种情况时,可能是由于僵死进程导致的。可以通过指令 ps -axjf  查看是否存在 D 状态进程。
          D 状态是指不可中断的睡眠状态。该状态的进程无法被 kill,也无法自行退出。只能通过恢复其依赖的资源或者重启系统来解决。

原文地址:https://www.cnblogs.com/brightbrother/p/8124915.html

时间: 2024-10-28 23:33:13

linux CPU使用率过高或负载过高的处理思路的相关文章

Linux CPU使用率获取 c

Linux CPU使用率获取 C #include <stdio.h> #include <unistd.h> #include <string.h> typedef struct CPU_PACKED { char name[20]; unsigned int user; unsigned int nice; unsigned int system; unsigned int idle; }CPU_OCCUPY; int cal_cpuoccupy(CPU_OCCUP

查看线程linux cpu使用率

Linux下如何查看高CPU占用率线程 LINUX CPU利用率计算 转 http://www.cnblogs.com/lidabo/p/4738113.html目录(?)[-] proc文件系统 proccpuinfo文件 procstat文件 procpidstat文件 procpidtasktidstat文件 系统中有关进程cpu使用率的常用命令 ps 命令 top命令 单核情况下Cpu使用率的计算 基本思想 总的Cpu使用率计算 计算方法 某一进程Cpu使用率的计算 计算方法 实验数据

CPU、内存、IO负载过高排障方法及解决方案

内存使用过高处理方法: 查询手段 使用top查看, 处理方法 1.将没有用的进程杀掉 2.查看占用进程高的应用的日志,对其做相应用的优化 3.增加内存 或者通过pstack这些工具去查对应进程的pid对系统调用的情况来定位故障原因. CPU负载过高处理方法: 查询手段:CPU资源负载过高,可通过使用top命令查出对应cpu资源使用率高的进程, 分析原因: 根据进程判断是什么应用,再去查对应应用的访问量大小,以及日志去定位是因为访问量过大导致,还是因为性能的原因导致. 处理方法: 如果是访问量导致

linux系统下对网站实施负载均衡+高可用集群需要考虑的几点

随着linux系统的成熟和广泛普及,linux运维技术越来越受到企业的关注和追捧.在一些中小企业,尤其是牵涉到电子商务和电子广告类的网站,通常会要求作负载均衡和高可用的Linux集群方案. 那么如何实施linux集群架构,才能既有效保证网站健康运行,又能节省运维成本呢?下面依据近几年的运维经历,简单梳理下自己的一点感悟. (1)机房的选择如果有自己公司的机房那是再好不过的了:如果没有,建议放在BGP机房内托管,如果有选择的话,最好是选择带有硬件防火墙的机房,这样在安全方面也有保障:网站如若是放在

Linux CPU使用率的计算

     CPU 使用率衡量的是程序运行占用的CPU 百分比.Linux 的CPU 使用率信息可以通过/proc/stat 文件计算得到. proc 文件系统       /proc 文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间.它以文件系统的方式为内核与进程提供通信的接口.用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数.由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统内核读出所需信息并提

Linux性能优化实战:负载均衡与CPU使用率(01)

一.CPU使用率并没有直接关系 1.平均负载 单位时间内,系统处于可运行状态和不可终端状态的平均进程数也就是平均活跃进程数,它和cpu使用率并没有直接关系, 可运行状态: 正在使用的cpu或者正在等待cpu的进程 不可中断状态 进程是正处于内核关键流程中的进程,并且这些流程是不可打断的,比如最常见的是等待硬件设备I/O响应,也就是我们在ps命令中看到的D状态的状态 或者中断打断的 ,这个时候的 进程处于不可终端状态,如果此时的进程被打断了 ,就容易出现磁盘数据与进程不一致的 问题 所以,不可中断

stress-Linux系统压力测试工具使用及系统负载很高的几种场景测试

安装 yum install stress stress-ng -y stess-ng是stress的下一代,功能更加完善 常用选项 -c,--cpu:代表进程个数(每个进程会占用一个cpu,当超出cpu个数时,进程间会互相争用cpu) -t,--timeout:测试时长(超出这个时间后自动退出) -i,--io:表示调用sync(),它表示通过系统调用 sync() 来模拟 I/O 的问题: 但这种方法实际上并不可靠,因为 sync() 的本意是刷新内存缓冲区的数据到磁盘中,以确保同步. 如果

操作系统性能监控-CPU使用率

CPU使用率分为 用户态CPU使用率:执行应用程序代码的时间占总CPU时间的百分比 系统态CPU使用率:应用执行操作系统调用的时间占总CPU时间的百分比 系统态CPU使用率高意味着共享资源有竞争或者IO设备之间有大量的交互. 目标:理想情况应用达到最高性能和扩展性时,它的系统态CPU使用率为0%,提供应用性能和扩展性一个目标是尽可能降低系统态CPU使用率   对于计算密集型应用 监控用户态和系统态CPU使用率 监控每时钟指令书IPC或每指令时钟周期CPI(对于计算密集型重要,系统自带工具无法监控

cpu使用率低负载高,原因分析

原因总结 产生的原因一句话总结就是:等待磁盘I/O完成的进程过多,导致进程队列长度过大,但是cpu运行的进程却很少,这样就体现到负载过大了,cpu使用率低. 下面内容是具体的原理分析:在分析负载为什么高之前先介绍下什么是负载.多任务操作系统.进程调度等相关概念. 什么是负载 什么是负载:负载就是cpu在一段时间内正在处理以及等待cpu处理的进程数之和的统计信息,也就是cpu使用队列的长度统计信息,这个数字越小越好(如果超过CPU核心*0.7就是不正常) 负载分为两大部分:CPU负载.IO负载 例