欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux性能监控学习笔记 博客分类: 读书Linux linux读书 

程序员文章站 2024-03-09 13:27:49
...
这是一篇读书笔记,读的是《Linux Permormance Monitoring》,oscon2009
营养价值并不大,只是做个记录而已。

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较高,说明某一个进程在等待硬件响应


Memory

内存以页(page)为单位,守护进程kswapd负责保证有空闲的内存可以用。
kswapd做如下的事:

* 页没有被修改,则把它放到空闲内存链表中;
* 页被修改,且对应于文件系统一个文件,则把它写入到磁盘;
* 页被修改,但不对应于文件系统中的文件,则把它写到swap设备;


pdflush守护进程负责把脏页同步到磁盘

对于内存的使用,只要保证不要用到swap即可。


IO

进程运行时需要的文件,如果没有在内存缓存中,则引发Major Page Fault(MPF),此时内核从磁盘中读取文件,并且缓存在内存中,下次需要同样的内容,则引发Minor Page Fault(MnPF),直接从内存中读取。

IO是计算机中最慢的部分。一般情况下,CPU的WaitTime较高,context switch明显多于interupt,说明系统的IO是瓶颈。

对于网络部分,主要是使用各种工具检测和设置网络参数。对于非局域网,网络环境非常复杂,需要具体分析。
相关标签: linux 读书