Linux操作系统调优相关工具(一)查看CPU负载相关工具 找出系统中使用CPU最多的进程?

简介: Linux操作系统调优相关工具(一)查看CPU负载相关工具 找出系统中使用CPU最多的进程?

linux调优相关工具 主要介绍:

1、 系统调优概述和查看CPU负载相关工具
2 、查看Memory运行状态相关工具
3 、查看IO运行状态相关工具
4 、查看Network运行状态相关工具
5 、查看系统整体运行状态

一、系统调优概述和查看CPU负载相关工具

1.1系统调优思路

性能优化就是找到系统处理中的瓶颈以及去除这些的过程,性能优化其实是对OS 各子系统达到一种平衡的定义。具体步骤如下:

1. 系统的运行状况:  CPU -> MEM (内存) -> DISK(磁盘)->  NETWORK (网络)-> application(应用)

2. 分析是否有瓶颈(依据当前应用需求)

3. 调优(采取一定措施使变得优异)

任何一个高负载都会导致其他子系统出现问题.比如:
大量的网页调入请求导致内存队列的拥塞;
网卡的大吞吐量可能导致更多的 CPU 开销;
大量的 CPU 开销又会尝试更多的内存使用请求;
大量来自内存的磁盘写请求可能导致更多的 CPU 以及 IO 问题;
所以要对一个系统进行优化,查找瓶颈来自哪个方面是关键,虽然看似是某一个子系统出现问题,其实有可能是别的子系统导致的。调优就像医生看病,因此需要你对服务器所有地方都了解清楚

1.2  查看CPU负载相关工具

使用uptime命令查看系统cpu负载

load average:系统负载,即任务队列的平均长度。 三个数值分别为  1分钟、5分钟、15分钟前到现在的平均值

单核心,1分钟的系统平均负载不要超过3 同理2核不超过6

1.3找出系统中使用CPU最多的进程

(1)、运行top命令,按下大写的P,可以按CPU使用率来排序显示

ps 中 VIRT、RES和SHR的含意

VIRT:virtual memory usage 虚拟内存

   1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等;

   2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量。

RES:resident memory usage 常驻内存

   1、进程当前使用的内存大小,但不包括swap out;

   2、包含其他进程的共享;

   3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反;

   4、关于库占用内存的情况,它只统计加载的库文件所占内存大小。

SHR:shared memory 共享内存

   1、除了自身进程的共享内存,也包括其他进程的共享内存;

   2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小;

   3、计算某个进程所占的物理内存大小公式:RES – SHR;

   4、swap out后,它将会降下来。

(2)、 按照实际使用CPU,从大到小排序显示所有进程列表    

[root@120 ~]#  ps -aux --sort -pcpu | more   #按cpu降序排序

注: -pcpu 可以显示出进程绝对的路径,方便找出木马程序运行的路径。

查看 -pcpu 帮助: man ps  #然后搜索 pcpu

(3)、查看CPU信息

[root@120 ~]# cat /proc/cpuinfo

(4)使用mpstat查看CPU运行情况

  [root@120~]# mpstat    

注:每列参数说明

usr: 用户空间CPU使用占比。

nice: 低优先级进程使用CPU占比。nice值大于0。

   sys: 内核空间CPU使用占比。

   iowait: CPU等待IO占比。

   irq:CPU 处理硬中断占比。

   soft:CPU 处理软中断占比。

   idle:CPU 空闲时间占比。

   guest与steal与虚拟机有关,暂不涉及。

[root@120 ~]# mpstat -P ALL  #查看所有CPU运行状态

[root@120 ~]# mpstat -P ALL 1 100   #一秒钟刷新一次 连续刷新100次

 

 

 

/****总结***********/

实战1:找出系统中使用CPU最多的进程?

方法1:使用top命令
运行top , 然后数字键1
找出使用CPU最多的进程 ,按大写的P,可以按CPU使用率来排序显示

实战2:按照实际使用CPU,从大到小排序显示所有进程列表 

ps -aux --sort -pcpu | more   #按cpu降序排序
注: -pcpu 可以显示出进程绝对路径,方便找出木马程序运行的路径。

实战3:找出系统中使用内存最多的进程?

方法1:使用top命令
       运行top , 然后按下大写的M 可以按CPU使用率来排序显示
实战:按照实际使用内存,从大到小排序显示所有进程列表
    ps -aux  --sort -rss | more 内存降序排序(去掉减号就是升序)
   或:
    ps -aux  --sort -rss > a.log  保存到文件方便分析

 

视频和笔记  https://codechina.csdn.net/z13615480737/test1/-/tree/master

目录
相关文章
|
监控 Shell Linux
Linux进程控制(详细讲解)
进程等待是系统通过调用特定的接口(如waitwaitpid)来实现的。来进行对子进程状态检测与回收的功能。
387 0
|
存储 负载均衡 算法
Linux2.6内核进程调度队列
本篇文章是Linux进程系列中的最后一篇文章,本来是想放在上一篇文章的结尾的,但是想了想还是单独写一篇文章吧,虽然说这部分内容是比较难的,所有一般来说是简单的提及带过的,但是为了让大家对进程有更深的理解与认识,还是看了一些别人的文章,然后学习了学习,然后对此做了总结,尽可能详细的介绍明白。最后推荐一篇文章Linux的进程优先级 NI 和 PR - 简书。
436 0
|
存储 Linux Shell
Linux进程概念-详细版(二)
在Linux进程概念-详细版(一)中我们解释了什么是进程,以及进程的各种状态,已经对进程有了一定的认识,那么这篇文章将会继续补全上篇文章剩余没有说到的,进程优先级,环境变量,程序地址空间,进程地址空间,以及调度队列。
324 0
|
Linux 调度 C语言
Linux进程概念-详细版(一)
子进程与父进程代码共享,其子进程直接用父进程的代码,其自己本身无代码,所以子进程无法改动代码,平时所说的修改是修改的数据。为什么要创建子进程:为了让其父子进程执行不同的代码块。子进程的数据相对于父进程是会进行写时拷贝(COW)。
405 0
|
运维 Linux
Linux系统调优详解(二)——CPU负载查看相关命令
Linux系统调优详解(二)——CPU负载查看相关命令
487 10
|
存储 运维 监控
在Linux中,发现CPU负载过大,接下来怎么办?
在Linux中,发现CPU负载过大,接下来怎么办?
|
监控 Linux 测试技术
Linux系统篇—CPU平均负载介绍与案例假设
Linux系统篇—CPU平均负载介绍与案例假设
631 0
Linux系统篇—CPU平均负载介绍与案例假设
|
安全 NoSQL jenkins
Linux->服务器被挖矿&CPU或内存高负载处理
Linux->服务器被挖矿&CPU或内存高负载处理
650 0
|
监控 Linux
zabbix 修改LINUX的CPU负载监控问题
最近给客户安装了一个zabbix服务器,运行了几天发现cpu load值不准确, 请教了运维和系统工程师,说是zabbix2.0以后的问题。 解决方案如下1(推荐): 修改模板(Template OS Linux)--项目--Processor load (1 min average per core)--键值: 把 system.
2323 0

热门文章

最新文章