1、top命令
top命令是linux下最常用的性能分析工具,最简单的top命令输出如下(top):
top命令的输出主要可以分为两部分:前半部分是系统统计信息,后半部分是进程信息。
在统计信息中第一行是任务队列信息,分别为:系统当前事件、系统运行时间、当前登录用户叔、1分钟5分钟15分钟内系统的平均load;
第2行是进程统计信息,分别是总的进程数、运行进程数、睡眠进程数、停止进程数、僵尸进程数;
第3行是cpu统计信息,其中us表示用户空间cpu占有率,sy表示系统内核占有率,id表示空闲cpu占有率;
第4行是内存统计信息,分别是物理内存总量,已使用物理内存量,空闲物理内存,内核缓冲使用量;
第5行是交换区总量,交换区使用量,空闲交换区大小,缓冲交换去大小
top命令的第二部分是进程信息去,其中重要的信息包括:
PID: 进程 id
USER: 进程所有者的用户名
PR:优先级
CPU:CPU占用率
MEM:进程使用的物理内存百分比
COMMAND:命令名
注: 使用top命令可以从宏观上观察系统各进程对CPU的占用情况,以及内存的使用情况;
2、vmstat
vmstat 也是比较齐全的性能检测工具,vmstat 可以指定采样周期和采样次数
命令 vmstat 1 3执行结果如下图所示:
其中procs中r表示等待运行的进程数,b表示处在非中断睡眠状态的进程数;
swap中si表示从硬盘交换到内存的交换页数,单位为KB/s;,sw表示从内存交换到磁盘的交换页数,单位为KB/s;
IO中bi表示发动到磁盘的块数,单位是块/s;bo表示从块设备接受的块数;
System 中in表示每秒的中断数,cs表示每秒上下文的切换数;
cpu的各项参数和top中cpu参数相同
3、iostat
iostat 可以提供详尽的I/O信息,基本使用命令如下 iostat -d -k 2 2,参数-d表示,显示设备(磁盘)使用状态;-k 某些使用block为单位的列强制使用kilobytes为单位;2表示数据显示每隔2秒刷新一次,后面表示展示几次。
tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。
kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read:读取的总数据量;
kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。
4、dstat
dstat是一个用来替换 vmstat,iostat netstat,nfsstat和ifstat这些命令的工具, 是一个全能系统信息统计工具. dstat支持即时刷新, 譬如输入dstat 3, 即每三秒收集一次, 但最新的数据都会每秒刷新显示. 和sysstat相同的是, dstat也可以收集指定的性能资源, 譬如 dstat -c 即显示CPU的使用情况.