Linux操作系统调优相关工具(一)查看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负载

Linux操作系统调优相关工具(一)查看CPU负载相关工具

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

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

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

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

Linux操作系统调优相关工具(一)查看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,从大到小排序显示所有进程列表    
[[email protected] ~]#  ps -aux --sort -pcpu | more   #按cpu降序排序
注: -pcpu 可以显示出进程绝对的路径,方便找出木马程序运行的路径。
查看 -pcpu 帮助: man ps  #然后搜索 pcpu
Linux操作系统调优相关工具(一)查看CPU负载相关工具

(3)、查看CPU信息
[[email protected] ~]# cat /proc/cpuinfo 

Linux操作系统调优相关工具(一)查看CPU负载相关工具
(4)使用mpstat查看CPU运行情况

   [[email protected]~]# mpstat    

Linux操作系统调优相关工具(一)查看CPU负载相关工具

注:每列参数说明
usr: 用户空间CPU使用占比。
nice: 低优先级进程使用CPU占比。nice值大于0。
    sys: 内核空间CPU使用占比。
    iowait: CPU等待IO占比。
    irq:CPU 处理硬中断占比。
    soft:CPU 处理软中断占比。
    idle:CPU 空闲时间占比。
    guest与steal与虚拟机有关,暂不涉及。 

[[email protected] ~]# mpstat -P ALL  #查看所有CPU运行状态

Linux操作系统调优相关工具(一)查看CPU负载相关工具

[[email protected] ~]# mpstat -P ALL 1 100   #一秒钟刷新一次 连续刷新100次