搬砖工具-性能分析篇

1. top

  样例

 

说明

第一行表示任务队列信息

  16:34:12     表示当前时间

  up 1 day, 23:03   表示系统运行时间

  3 users    表示登陆用户数

  load average:0.18, 0.10, 0.06     系统负载,1、5、15分钟平均值 

 

第二行为进程信息统计数据

   任务: 211 total   表示进程总数

  1 running   正在运行的进程数

  165 sleeping   睡眠的进程数

  0 stopped   停止的进程数

  0 zombie   僵尸进程数

 

第三行CPU信息统计数据

  %Cpu(s) :  

   2.5 us   用户空间占用CPU百分比

    0.8 sy   内核(系统)空间占用CPU百分比

    0.0 ni   用户进程空间内改变过优先级的进程占用CPU百分比

    96.5 id   空闲CPU百分比

    0.0 wa   等待输入输出的CPU时间百分比

    0.0 hi   硬件CPU中断占用百分比

   0.2 si   软中断占用百分比

   0.0 st   虚拟机(虚拟化技术)占用百分比

 

    第四行内存信息统计数据:

  KiB Mem :    内存数据

    1003200 total   物理内存总量

    89572 free   空闲内存总量

    449156 used   使用的物理内存总量

    464472 buff/cache   用作内核缓存的内存量

 空闲内存 = 空闲内存总量 + 内核缓存的内存量 + 缓冲的交换区总量

 

  KiB Swap :   交换分区

    2097148 total   交换区总量

    1393404 free   空闲交换区总量  

    703744 used   使用的交换区总量

    384188 avail Mem   缓冲的交换区总量(内存中的数据被移动至交换区而后又被送至内存空间,但是使用过的交换区尚未被覆盖,其空间大小即为这些数据已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再次对交换区写入)

 

任务监控状态:

  PID   进程id
  USER   进程所有者
  PR   进程优先级
  NI    nice值。负值表示高优先级,正值表示低优先级
  VIRT   进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
  RES   进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
  SHR   共享内存大小,单位kb
  S   进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
  %CPU   上次更新到现在的CPU时间占用百分比
  %MEM   进程使用的物理内存百分比
  TIME+   进程使用的CPU时间总计,单位1/100秒
  COMMAND   进程名称(命令名/命令行) 

 

2. htop

安装

# RHEL/CentOS
yum install htop

# Debian/Ubuntu
apt-get install htop

 

效果

 

3. bashtop

安装

curl -fsSL https://raw.githubusercontent.com/aristocratos/bashtop/master/bashtop -o /usr/bin/bashtop 
chmod +x /usr/bin/bashtop

 

效果

 

4. vmstat

vmstat(VirtualMeomoryStatistics,虚拟内存统计) 是Linux中监控内存的常用工具,可对操作系统的虚拟内存、进程、CPU等的整体情况进行监视。

 

安装 & 使用

# 每隔interval秒采样一次,共采样times次
vmstat [interval times]

 

样例

 

说明 

第一行显示了系统自启动以来的平均值,第二行开始显示现在正在发生的情况

procs:

  r:显示了多少进程在等待cpu,

  b:显示多少进程正在不可中断的休眠(等待IO)

memory:

  swapd列显示被换出了磁盘(页面交换)

  空闲(未被使用)

  缓冲区使用大小

  操作系统的缓存使用大小

swap:显示交换活动:每秒有多少块正在被换入(从磁盘)和换出(到磁盘)。

  si:换入

  so:换出

io:显示了多少块从块设备读取和写出,通常反映了硬盘I/O

  bi:读取

  bo:写出

system:显示每秒中断(in)和上下文切换(cs)的数量

  in:中断

  cs:上下文切换

cpu:显示所有的cpu时间花费在各类操作的百分比,包括执行用户代码(非内核),执行系统代码(内核),空闲以及等待IO。

 

内存不足的表现:free  memory急剧减少,回收buffer和cacher也无济于事,大量使用交换分区(swpd),页面交换(swap)频繁,读写磁盘数量(io)增多,缺页中断(in)增多,上下文切换(cs)次数增多,等待IO的进程数(b)增多,大量CPU时间用于等待IO(wa)

 

5. dstat

dstat显示了cpu使用情况,磁盘io情况,网络发包情况和换页情况,输出是彩色的,可读性较强,相对于vmstat和iostat的输入更加详细且较为直观。在使用时,直接输入命令即可,当然也可以使用特定参数。

 

安装 & 使用

# 安装
sudo apt install dstat

 

样例

  

参数说明

-c  cpu统计信息

-d  磁盘统计信息

-g  页面统计

-i  中断状态

-l  负载统计

-m  内存状态

-n  网络统计信息

-p  进程统计信息

-r  io统计信息

-s  交换统计信息

-t  时间/日期输出

-y  系统统计信息

  

 

 

 

参考文章:

【恒生研究院】超全整理!Linux性能分析工具汇总合集

【木子】木子的搬砖工具😂

posted @ 2020-05-26 11:02  ony-z  阅读(274)  评论(0编辑  收藏  举报