Vmstatwindows
Vmstat,virtual memmory statistics(虚拟内存统计),主要是对操做系统的内存信息、进程状态、cpu活动等进行监视,可是它不能对某个进程进行深刻的分析。
缓存
Procs中r列表示运行和等待CPU时间片的进程数,若是r值长期大于CPU个数,说明CPU资源不够用啦,能够适当增长CPU数量。
Procs中b列表示当前等待资源的进程数,包括等待I/O,内存等。Swpd列表示切换到内存交换区的KB数,通常si,so为0的话基本不影响系统的性能。Cache是page cache的内存数量,Linux会把空闲的物理内存的一部分拿来作文件和目录的缓存,以便提升程序执行的性能。若是cache的值较大的话,说明缓存了太多的文件,若是bi值小的话,说明文件系统效率比较高。Si是每秒从磁盘读入虚拟内存的大小,若是这个值一直大于0,表示物理内存不够用或者内存泄露了,须要查找耗内存进程解决掉。Bi,bo是表示从块设备读入数据的总量以及写到块设备的数据总量。若是bi+bo值比较大,并且wa值也比较大的话,说明系统磁盘I/O可能有问题,性能不高。服务器
In和cs是每秒钟的设备中断数以及上下文切换数。它们很大的话,表面内核消耗的CPU时间较多。网络
Top工具
Top是一个动态显示过程,便可以经过用户按键来不断刷新当前状态。它能够按照系统中当前进程的CPU利用率以及占用的内存大小进行排序,能够比较快速定位出系统响应迟钝的缘由。若是在前台执行该命令,它将独占前台,直到用户终止该程序为止。
性能
top是一个显示数据较多的工具,第一行显示的是系统的开机运行时间,机器的CPU负载信息;第二行显示当前系统任务的总数,以及各个状态的进程数;第三行显示的是CPU资源的使用状况总览;第四行显示内存的使用状况总览;第五行显示的是内存交换区的使用状况总览;后面开始是每一个进程对资源使用的状况。测试
Nmonspa
Nmon提供对CPU、内存、网络、磁盘等系统资源占用状况分析,相比其余Linux命令获取到的数据,nmon的功能更为集中、配置性更强。经过nmon采集到数据以后能够在windows系统中使用nmon_analyser作数据的展现以及分析工做,可视化效果比较好。
操作系统
因为通常Linux系统都不自带nmon,使用以前须要下载安装。3d
Uptime
Uptime命令显示系统已经运行了多长时间,它依次显示当前时间、系统已经运行了多长时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
关于系统平均负载,它表示在特定时间间隔内运行队列中的平均进程数。若是一个进程知足如下条件则其就会位于运行队列中:没有在等待I/O操做的结果;没有主动进入等待状态;没有被中止。
Netstat
Netstat命令能够显示本机的网络链接状况,监听端口以及路由表等各类网络相关信息。Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,通常用于检验本机各端口的网络链接状况。 比较经常使用的能够用次命令查看当前开启监听的服务器进程信息以及端口信息。
Free
Free是监控Linux使用状况最经常使用的命令。
“Free -m”能够查看以M为单位的使用状况,这里主要观察free和cached两列。
通常来讲,若是应用程序可用内存/系统物理内存>70%时,代表目前系统内存资源比较充足,不影响系统性能;若是应用程序可用内存/系统物理内存<20%时,代表目前系统内存资源比较紧缺,须要释放其余程序内存或者增长内存;若是应用程序可用内存/系统物理内存在20%-70%之间,代表目前系统的内存资源基本知足应用需求,暂时不影响系统的性能。
Sar
Sar也是一个强大的分析系统性能的工具,它能够比较全面的获取系统的CPU,运行队列,磁盘IO,分页,内存,CPU中断,网络等多项数据。
上图是使用sar获取系统CPU的总体负责状况,每隔1秒统计一次,统计3次,最后会给出3次的平均值。须要查看其余的数据能够查看手册使用。
Iostat
Iostat是I/O statistics的缩写,主要功能是对系统的磁盘I/O操做进行监控。它的输出主要显示磁盘读写操做的统计信息,同时也会给出CPU的使用状况。
这里显示的是查看CPU和磁盘的信息,统计间隔2秒,共3次。
Valgrind
Valgrind是一款普遍用于监控程序运行过程进行内存调试、内存泄漏检测以及性能分析的工具。它会给出内存泄漏的统计,包括definitely lost,indirectly lost,possibly lost,still reachable ,suppressed等,咱们可使用valgrind来测试程序中内存不规范使用的部分。同时对于地址越界问题也能够经过valgrind扫出来,它会统计invalid write的状况。