linux的不少指令其实就是一个工具软件,只不过与windows不一样的是它没有界面,操做不是用鼠标,而是用命令而已。一样的功能,各种工具会不少,就像windows同样,只要精通每类功能的一两个工具就行。linux
1、分析CPUios
经常使用工具列举下:ps、top、iostat、vmstat、mpstat、sar 等
ps:可查看某个进程占用CPU资源百分比;
top:显示的信息同ps接近,可是top能够了解到CPU消耗,能够根据用户指定的时间来更新显示;
iostat: 查看全部CPU的平均信息;
vmstat:查看全部CPU的平均信息,队列信息;
mpstat: 能够查看全部CPU的平均信息,还能查看指定CPU的信息;
sar: 与mpstat 同样,不但能查看CPU的平均信息,还能查看指定CPU的信息。windows
2、分析内存服务器
经常使用工具:free、vmstat
free:可查看内存的总数、已使用、空闲内存数,swap使用(当系统没有足够物理内存来应付全部请求的时候就会用到 swap 设备,swap 设备能够是一个文件,也能够是一个磁盘分区。不过要当心的是,使用 swap 的代价很是大。若是系统没有物理内存可用,就会频繁 swapping,若是 swap 设备和程序正要访问的数据在同一个文件系统上,那会碰到严重的 IO 问题,最终致使整个系统迟缓,甚至崩溃)状况等,特别提醒,若是swap使用较多,说明服务器内存不怎么够用了;
vmstat:可监控虚拟内存使用状况、空闲内存、缓冲、cache等指标,和free工具相似。网络
3、分析IOapp
经常使用工具:iostat、sar、fio
iostat:可获取每秒读写的数据块数、全部读写块数等,可对磁盘读写性能有个大致了解,并能够模拟顺序以及随机读写磁盘操做;
sar:可获取磁盘I/O的等待时间和服务时间,以及每秒钟用于I/O操做的百分比等
fio:另外一款强大的io压力测试工具,这个工具最大的特色是使用简单,支持的文件操做很是多, 能够覆盖到咱们能见到的文件使用方式。tcp
4、分析网络IO工具
经常使用工具:netstat、tcpdump、route、iptarf、netperf
netstat:是一个监控TCP/IP网络的很是有用的工具,它能够显示路由表、实际的网络链接以及每个网络接口设备的状态信息;
tcpdump :用于监视TCP/IP链接并直接读取数据链路层的数据包头。您能够指定哪些数据包被监视、哪些控制要显示格式;
route:能够为ifconfig命令配置的网卡设置静态路由,在本地 IP 路由表中显示和修改条目网络命令;
iptarf:可用于查看本机网络的吞吐量,得到网络传输速率;
netperf:能够模拟服务器和客户端网络收发,测试网络吞吐量大小;
iperf:相似于netperf,模拟服务器和客户端网络收发,测试最大TCP和UDP带宽性能,可以提供网络吞吐率信息, 以及震动、丢包率、最大段和最大传输单元大小等统计;性能