菜鸟笔记
提升您的技术认知

linux性能监控工具

1.uptime



该命令直观的显示了服务器在过去15分钟,5分钟,1分钟内的平均负载
 

2.vmstat
每隔2秒输出vmstat的信息,共输出10次。

类别 procs swap io   system cpu
  r:正在运行的进程数目 si: 换入到内存的容量 bi: 读入块数目 in: 中断数目 us:用户
  b:阻塞的进程数目 so: 换出内存的容量 bo: 写到块数目 cs: 上下文切换数目 sy:系统
          id:空闲
          wa:等待io完成的cpu


3.iostat

iostat -xdmt 1  1  每秒输出一次io统计信息,共输出一次。

rrqm/s  wrqm/s r/s  w/s rMB/s  wMB/s avgrp-sz      avgqu-sz await / svctm / %util
每秒这个设备相关的读取/写入请求merge次数 每秒读写次数 每秒读写的容量  平均IO大小/ 平均IO队列长度 等待IO时间/IO服务时间/等待IO占用百分比

备注:若磁盘%util很大,超过90%,则表示磁盘IO到瓶颈了。

4.top

top -d 10 每10秒钟查看下信息。

包含了load信息,系统运行时间信息,cpu信息,进程信息等。  
重要参数说明:
VIRT:virtual memory usage 虚拟内存:进程使用的虚拟内存总量,单位:kb。
VIRT=SWAP+RES 假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量  
RES: resident memory usage 进程使用的、未被换出的物理内存大小,单位:kb。
RES=CODE+DATA 如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反  
SHR:shared memory 共享内存大小【共享库】  
S:进程状态 D= 不可中断的睡眠状态 

R= 运行 

S= 睡眠 

T= 跟踪 / 停止 

Z= 僵尸进程
 

5.free -m



 

=====Mem行======
total:内存总量,
used:表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用
free:未分配的内存
buffers:系统分配但未被使用的buffers 数量
cached:系统分配但未被使用的cache 数量
 
======buffers/cache行=====
-buffers/cache:Mem行中的used - buffers-cached,实际使用的内存总量
+buffers/cache: free+buffers+cached,这就是系统当前实际可用内存。  
buffers:主要用来给块设备做的缓冲大小,主要记录文件系统的metadata
cached:用来给文件做缓冲
 
 

6.sar

通过sar命令可以查看服务器的各个硬件的实时运转情况。由于显示的一些参数含义与其它命令类似,这里就不一一详细介绍,只重点介绍
几个参数。
(1)sar -d  显示磁盘实时信息  

(2)sar -b 查看I/O和传送速率的统计信息  

(3)sar -u  显示cpu实时信息

 
(4)sar -q 查看平均负载

 
(5)sar -r 查看内存使用情况

 
(6)sar -n DEV 查看网卡流量情况  

rxpck/s:每秒钟接收的数据包 
txpck/s:每秒钟发送的数据包 
rxbyt/s:每秒钟接收的字节数 
txbyt/s:每秒钟发送的字节数 
rxcmp/s:每秒钟接收的压缩数据包 
txcmp/s:每秒钟发送的压缩数据包 
rxmcst/s:每秒钟接收的多播数据包