1、top
top命令可以直观的看出系统的CPU使用情况,以及内存的使用,当系统特别慢的时候可以通过这个命令查看CPU的使用,有可能是某个进程把CPU占满了。
t:关闭或开启CPU统计信息
m:关闭或开启内存信息的显示
A:对系统上的各类资源排序。对于快速找到系统上的性能问题的任务很有作用
2、vmstat
查看关于内存,内存也,块io和CPU信息,可以显示平均值,也可以通过命令来采样显示。
vmstat -a 查看活动页与非活动页
vmstat 3 2 每三秒采样一次,采样两次。
各列含义
r : 等待执行时间的进程数。这个不包含io操作,r的值大于CPU的数量就表示已经饱和了。
b:在不可中断睡眠中的进程数
swpd:已使用的swap空间内存量
si:从交换分区写入到内存的量
so:从内存写入到交换分区的量
si/so才是识别内存瓶颈的关键,长时间每秒200到300以上的si so次数表明内存出现了瓶颈
bi:发往块设备的数目
bo:块设备接受的数目
system
in:中断的次数,中断如果太多的话表名系统有问题,可能是网卡中断或硬件中断
cs:contextswitch 上下文切换 上下文切换的次数不是越多越好,相反,如果上下文切换发生次数太多的话应该是系统出问题了。
cpu
us:运行用户程序占用 时间(用户时间)
sy:运行内核程序占用的时间(系统时间)
id:空闲时间
wa:等待io的时间
st:Time stolen from a virtual machine. Prior to Linux 2.6.11, unknown
3、uptime(这个命令可用w替代)
这个命令可以看出系统在之前一段时间的负载情况,系统平均负载分别是过去1分钟,5分钟,15分钟的值
何为系统的平均负载:在特定时间间隔内运行队列中的平均进程数
一般来说,每个CPU内核当前活动进程数不大于3,则系统运行表现良好!当然这里说的是每个cpu内核,也就是如果你的主机是四核cpu的话,那么只要uptime最后输出的一串字符数值小于12即表示系统负载不是很严重.当然如果达到20,那就表示当前系统负载非常严重,估计打开执行web脚本非常缓慢.
4、free
显示系统的可用内存和已用内存,包括swap。也包括被内存使用的缓冲和缓存信息。
5、iostat
rrqm/s,wrqm/s
每秒向设备发出的合并读写请求的数目。多个单一的读写请求可以合并为一个传输请
求,因为传输请求的大小的可变的
r/s,w/s 设备上的每秒读/写请求次数。
rsec/s,wsec/s 设备上每秒的读/写扇区数
avgrq-sz 向设备发出的请求的平均大小,显示为扇区
avgqu-sz 向设备发出的请求的平均队列长度
await CPU执行系统任务的时间百分比
svctm I/O请求的平均服务时间(毫秒)
%util I/O请求从发出到设备的时间占用CPU的百分比(设备的带宽利用率)。该值接近100%时,设备能力几乎饱和
还有mpstat,查看所有cpu的使用情况和软中断和硬中断,netstat查看网络的情况