linux性能检查(一)介绍和CPU
linux性能检查(一)介绍和CPU
通常监控的子系统有:
CPU
Memory
IO
Network
应用类型
IO相关,处理大量数据,需要大量内存和存储,频繁IO读写数据,对CPU的要求比较小,大部分时候CPU都在等待硬盘,比如,数据库服务器、文件服务器等。
CPU相关,需要使用大量的CPU能力,比如高并发的web/mail服务器、图像/视频处理、可续计算等。
查看机器状态命令
>vmstat1
一些常用的监控命令和工具。
top查看进程活动状态以及一些系统状况
vmstat查看系统状态、硬件和系统信息等
iostat查看CPU负载,硬盘状况
sar综合工具,查看系统状况
mpstat查看多处理器状况
netstat查看网络状况
iptraf实时网络状况监测
tcpdump抓取网络数据包,详细分析
mpstat查看多处理器状况
tcptrace数据包分析工具
netperf网络带宽工具
dstat综合工具,综合了vmstat,iostat,ifstat,netstat等多个信息
CPU底线
65%-70%UserTime,
30%-35%SystemTime,
0%-5%IdleTime;
上下文切换,上下文切换应该和CPU利用率联系起来看,如果能保持上面的CPU利用率平衡,大量的上下文切换是可以接受的;
可运行队列,每个可运行队列不应该有超过1-3个线程(每处理器)。双处理器系统的可运行队列里不应该超过6个线程。
工具vmstat
>vmstat1
参数记录:
r,可运行队列的线程数,这些线程都是可运行状态,只不过CPU暂时不可用;
b,被blocked的进程数,正在等待IO请求;
in,被处理过的中断数
cs,系统上正在做上下文切换的数目
us,用户占用CPU的百分比
sys,内核和中断占用CPU的百分比
wa,所有可运行的线程被blocked以后都在等待IO,这时候CPU空闲的百分比
id,CPU完全空闲的百分比
比较闲的机器返回情况:
>vmstat1
procs-----------memory-------------swap-------io------system-------cpu------
rbswpdfreebuffcachesisobiboincsussyidwast
000267260457044052439360011024109900
000267264857044052439360005214462009900
00026726485704405243936000054440010000
000267264857044052439360000114580010000
000267264857044052439440000214780010000
0002672648570440524394400088476119800
00026726485704405243944000054710010000
跑了一个虚拟机的机器:
procs-----------memory-------------swap-------io------system-------cpu------
rbswpdfreebuffcachesisobiboincsussyidwast
104017359802109328855852000631339400
10401736088210932885585200021712641098100
工具mpstat
>mpstat-PALL5
我的目标机器没有这个工具。
参考:
http://www.blogjava.net/cssseek/archive/2010/10/25/335791.html