1、uptime

该命令可以大致的看出计算机的整体负载情况,load average后的数字分别表示计算机在1min、5min、15min内的平均负载。
2、dmesg | tail
打印内核环形缓存区中的内容,可以用来查看一些错误;

上面的例子中,显示进程18694 因引内存越界被kill掉以及TCP request被丢弃的错误。通过dmesg可以快速判断是否有导致系统性能异常的问题。
3、mpstat
mpstat是 Multiprocessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPU系统里,其不但能查看所有CPU的平均状况信息(可用于查看CPU的调度是否均匀),而且能够查看特定CPU的信息。
使用mpstat命令
1.直接使用mpstat命令: mpstat
当mpstat不带参数时,输出为从系统启动以来的平均值。
2.使用mpstat -P ALL 5 2命令 mpstat -P ALL 5 2
表示每5秒产生一个报告,总共产生2个。 上图表示每5秒产生了2个关于处理器的统计数据报告,一共产生2个interval 的信息,然后再给出这2个interval的平均信息。默认时,输出是按照CPU 号排序。第一个行给出了从系统引导以来的所有活跃数据。接下来每行对应一个处理器的活跃状态。
下面是如何理解上面显示出来的信息。
03:29:29 PM : 指mpstat运行的时间
all : 指所有CPU
%usr : 显示在用户级别(例如应用程序)执行时CPU利用率的百分比
%nice :显示在拥有nice优先级的用户级别执行时CPU利用率的百分比
%sys : 现实在系统级别(例如内核)执行时CPU利用率的百分比
%iowait : 显示在系统有未完成的磁盘I/O请求期间CPU空闲时间的百分比
%irq : 显示CPU服务硬件中断所花费时间的百分比
%soft : 显示CPU服务软件中断所花费时间的百分比
%steal : 显示虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比
%guest : 显示运行虚拟处理器时CPU花费时间的百分比
%idle : 显示CPU空闲和系统没有未完成的磁盘I/O请求情况下的时间百分比
4、pidstat
使用pidstat分析到底哪里出了问题 pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备IO、任务切换、线程等。pidstat首次运行时显示自系统启动开始的各项统计信息,之后运行pidstat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。
cpu使用情况统计(-u) 使用-u选项,pidstat将显示各活动进程的cpu使用统计,执行”pidstat -u”与单独执行”pidstat”的效果一样。
间隔 5 秒后输出一组数据
pidstat -u 5 1

内存使用情况统计(-r) 使用-r选项,pidstat将显示各活动进程的内存使用统计:
使用-d选项,我们可以查看进程IO的统计信息: 使用pidstat进行问题定位时,以下命令常被用到:
pidstat -u 1
pidstat -r 1
pidstat -d 1 以上命令以1秒为信息采集周期,分别获取cpu、内存和磁盘IO的统计信息。
使用pidstat查看某个进程的情况 查看nginx master进程的2s采样输出3次的内存使用情况 #nginx pid=518 pidstat -r 2 -p 518 3

minflt/s: 每秒次缺页错误次数(minor page faults),次缺页错误次数意即虚拟内存地址映射成物理内存地址产生的page fault次数 majflt/s: 每秒主缺页错误次数(major page faults),当虚拟内存地址映射成物理内存地址时,相应的page在swap中,这样的page fault为major page fault,一般在内存使用紧张时产生 VSZ: 该进程使用的虚拟内存(以kB为单位) RSS: 该进程使用的物理内存(以kB为单位) %MEM: 该进程使用内存的百分比 Command: 拉起进程对应的命令
5、iostat -xz 1
第一次输出的是从系统开机到统计这段时间的采样数据;

检查列
r/s, w/s, rkB/s, wkB/s,表示每秒向I/O设备发出的reads、writes、read Kbytes、write Kbytes的数量。 await,表示应用程序排队等待和被服务的平均I/O时间,该值若大于预期的时间,这表示I/O设备处于饱和状态或者异常。 avgqu-sz,表示请求被发送给I/O设备的平均时间,若该值大于1,则表示I/O设备可能已经饱和; %util,每秒设备的利用率;若该利用率超过60%,则表示设备出现性能异常;
6、free -m

检查的列:
buffers: For the buffer cache, used for block device I/O. cached: For the page cache, used by file systems. 若buffers和cached接近0,说明I/O的使用率过高,系统存在性能问题。 Linux中会用free内存作为cache,若应用程序需要分配内存,系统能够快速的将cache占用的内存回收,因此free的内存包含cache占用的部分。