Linux性能监控学习笔记


Linux性能监控学习笔记
 
  www.2cto.com  
Linux性能监控一般分为这几个方面: 
 
1. CPU 
2. Memory 
3. IO 
4. Network 
 
这4个方面相互独立但又互影响。 
 
性能监控常用工具: 
 
* vmstat : 全能 
* mpstat : CPU 
* sar : 全能 
* iostat : 磁盘 
* netstat : 网络 
* dstat : 聚合 
* iptraf : 网络 
* netperf : 带宽 
* ethtool : 网络 
* iperf : 网络 
* tcptrace : 包分析 
 
 
CPU 
 
优先级:中断 > 内核进程 > 用户进程 
 
上下文切换(Context Switches):CPU在各个进程间切换的过程。 
 
运行队列(Run Queue):Linux通过一定的调度算法来运行各个进程,待运行的进程会存放在Run Queue里面,load的概念就是Run Queue的总长度加上正在运行的进程数。 
 
CPU使用率: 
 
* User Time : 用户空间的进程所使用的时间 
* System Time : 内核进程所使用的时间 
* Wait IO : 等待IO的时间 
* Idle : 空闲时间 
 
 
一些判断标准: 
 
* 每个CPU核心的Run Queue不应该超过1~3 
* CPU充分使用时,User Time约占65%~70%,System Time约占30%~35%, Idle约占0%~5% 
 
例子1:cs很多,Interupt不高,Wait Time较高,说明进程普遍在等待硬件响应 
例子2:cs不多,Interupt较高,User Time较高,说明某一个进程在等待硬件响应 
 
  www.2cto.com  
Memory 
 
内存以页(page)为单位,守护进程kswapd负责保证有空闲的内存可以用。 
kswapd做如下的事: 
 
* 页没有被修改,则把它放到空闲内存链表中; 
* 页被修改,且对应于文件系统一个文件,则把它写入到磁盘; 
* 页被修改,但不对应于文件系统中的文件,则把它写到swap设备; 
 
pdflush守护进程负责把脏页同步到磁盘 
 
对于内存的使用,只要保证不要用到swap即可。 
 
IO 
 
进程运行时需要的文件,如果没有在内存缓存中,则引发Major Page Fault(MPF),此时内核从磁盘中读取文件,并且缓存在内存中,下次需要同样的内容,则引发Minor Page Fault(MnPF),直接从内存中读取。 
 
IO是计算机中最慢的部分。一般情况下,CPU的WaitTime较高,context switch明显多于interupt,说明系统的IO是瓶颈。 
 
对于网络部分,主要是使用各种工具检测和设置网络参数。对于非局域网,网络环境非常复杂,需要具体分析。 
 

相关内容

    暂无相关文章