1. w/uptime 查看系统负载:linux
[root@localhost ~]# w缓存
23:41:31 up 20 min, 2 users, load average: 0.32, 0.08, 0.05bash
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT服务器
root tty1 23:41 11.00s 0.02s 0.02s -bash网络
root pts/0 192.168.0.108 23:22 3.00s 0.03s 0.01s wapp
•说明:工具
• 23:41:31 表示当前时间;性能
• up 20 min 表示机器运行多长时间;ui
• 2 users 表示多少个用户登陆此机器;spa
• load average: 0.32, 0.08, 0.05 1分钟,5分钟,15分钟内系统的平均负载。这个值定义的是单位时间内cpu活动进程数。固然,这个值越大就说明服务器压力越大,通常状况下只要不超过cpu的核数就不要紧,不然就要关注下负载是否太高了。
• USER表示是用哪一个用户登陆的;
• TTY表示登陆linux的方式;tty表示在服务器本机登陆;pts/0表示使用远程终端工具登陆;
• FROM表示在哪台机器上登陆;
• LOGIN@表示用户登陆时间;
• IDLE表示空闲了多长时间;
• JCPU表示当前终端下全部的进程以及子进程占用的cpu时间是多少;
• PCPU表示当前命令w占用的时间是多少;
• WHAT表示当前的命令是什么;
uptime一样能够查看系统负载,实际上uptime显示的结果和w第一行是同样的
[root@localhost ~]# uptime
00:23:37 up 1:02, 2 users, load average: 0.00, 0.01, 0.05
/proc/cpuinfo 此文件记录了cpu的详细信息;
grep -c 'processor' /proc/cpuinfo 查看cpu核数;
2. vmstat 监控系统状态
• 用法 vmstat 1 一秒中显示一次,按ctrl + c 结束
• 用法 vmstat 1 5 一秒中显示一次,共显示5次
[root@localhost ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
2 0 0 1620388 764 152852 0 0 9 0 39 44 0 0 100 0 0
上面讲的w查看的是系统总体上的负载,经过看那个数值能够知道当前系统有没有压力。可是具体是哪里(cpu,内存,磁盘等)有压力就没法判断了,经过vmstat就能够知道具体是哪里有压力。vmstat打印结果共分为6部分:
procs,memory,swap,io,system,cpu。请重点关注r b si so bi bo 几列。
• procs显示进程相关信息:
r:表示运行和等待cpu时间片的进程数。若是长期大于服务器cpu的个数,则说明cpu不够
用了。(表示有多少任务处于run状态)
b:表示等待资源的进程数。好比,等待I/O 内存等,这列的值若是长时间大于1,则须要关
注 一下了。(被阻塞的进程数)
• memory内存相关信息:
swpd:表示切换到交换分区中的内存数量;单位是KB;(有些程序会把内存里的数据放倒
交换)
free:当前空闲的内存数量
buff:缓冲大小,(即将写入磁盘的,暂存内存的空间)还剩多少buff
cache:缓存大小,(从磁盘中读取的)还剩多少cache
• swap 内存交换状况
si:由交换区写入到内存的数据量;单位KB
so:由内存写入到交换区的数据量;单位KB
• io 磁盘使用状况
bi:从块设备读取数据的量(读磁盘);数据写入内存,超过1000以上硬盘有些压力
bo: 从块设备写入数据的量 ( 写磁盘);从内存写入磁盘;
• system 显示采集间隔内发生的中断次数
in:表示某一时间间隔中观测到的每秒设备中断数
cs:表示每秒产生的上下文切换次数
• CPU 显示cpu的使用状态
us:显示了用户下所花费cpu时间的百分比
sy:显示系统花费cpu时间百分比
id: 表示cpu处于空闲状态的时间百分比
wa:表示I/O等待所占用的时间百分比
st:表示被偷走的cpu所占百分比(通常为0)
us +sy +id = 100
• top查看进程使用资源状况
• top -d 1 一秒中刷新一次(top默认3秒中刷新一次)
• top -c 显示详细的进程信息
• top -bn1 静态显示全部进程
• q退出,数字1显示全部核cpu,大写字母M按内存使用排序
• 大写字母P按cpu使用排序
• top只显示一屏幕,剩下的能够按shift > 往下翻
sar(System Activity Reporter系统活动状况报告)是目前 Linux上最为全面的系统性能分析工具之一,能够从多方面对系统的活动进行报告,包括:文件的读写状况、系统调用的使用状况、磁盘I/O、CPU效率、内存使用情况、进程活动及IPC有关的活动等。
sar在/var/log/sa/ 目录下会天天生成一个sa+日期命名的文件,每个月循环覆盖,每10分钟统计一次系统状态。
• yum install -y sysstat
安装sysstat软件包后可使用sar命令
选项:
1. sar 列出当天cpu资源情况
CPU: all 表示统计信息为全部 CPU 的平均值。
%user: 显示在用户级别(application)运行使用 CPU 总时间的百分比。
%nice: 显示在用户级别,用于nice操做,所占用 CPU 总时间的百分比。
%system: 在核心级别(kernel)运行所使用 CPU 总时间的百分比。
%iowait: 显示用于等待I/O操做占用 CPU 总时间的百分比。
%steal: 管理程序(hypervisor)为另外一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
%idle: 显示 CPU 空闲时间占用 CPU 总时间的百分比。
1. 若 %iowait 的值太高,表示硬盘存在I/O瓶颈
2. 若 %idle 的值高但系统响应慢时,有多是 CPU 等待分配内存,此时应加大内存容量
3. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,代表系统中最须要解决的资源是 CPU
sar 5 每5秒钟统计一次负载,按ctrl + c 退出;
sar 5 3 每5秒统计一次,3次后结束;
sar -u 和sar同样列出当天统计的CPU资源监控;
sar -u -f /var/log/sa/sa09 -f查看二进制历史文件记录的cpu资源监控;
2. sar -n DEV 列出当天的网卡流量状态
sar -n DEV 1 10 1秒统计一次,10次后退出;
sar -n DEV -f /var/log/sa/saxx 查看具体日期网络流量统计状况;
rxpck/s 每秒接收数据包数
rxpck/s 每秒发送数据包数
rtkB/s 每秒接收的数据量
txkB/s 每秒发送的数据量
3. sar -b I/O和传送速率监控
sar -b 1 5
sar -b -f /var/log/sa/saxx
tps:每秒钟物理设备的 I/O 传输总量
rtps:每秒钟从物理设备读入的数据总量
wtps:每秒钟向物理设备写入的数据总量
bread/s:每秒钟从物理设备读入的数据量,单位为 块/s
bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s
4. sar -q 系统负载
sar -q 1 3
sar -q -f /var/log/sa/saxx
进程队列长度和平均负载状态监控:
runq-sz:运行队列的长度(等待运行的进程数)
plist-sz:进程列表中进程(processes)和线程(threads)的数量
ldavg-1:最后1分钟的系统平均负载(System load average)
ldavg-5:过去5分钟的系统平均负载
ldavg-15:过去15分钟的系统平均负载
5. sar -f /var/log/sa/saxx 历史文件
6. sar -o file表示将命令结果以二进制格式存放在文件中,file 是文件名。
sar -n DEV 1 3 -o net.txt
sar -f net.txt
ls /var/log/sa/
sa开头的是二进制文件只能用sar -f查看
sar开头的是普通文本能够用cat查看
怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看
怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看
怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看
用途: 用来即时监看网路状态和各ip所使用的频宽
1. yum install -y nload
安装nload命令
2. nload命令直接输入使用
第一行分别是网卡 ip 以及第几个网卡;
按左右键能够切换网卡;
按q退出
上半部分是:Incoming也就是进入网卡的流量,
下半部分是:Outgoing,也就是从这块网卡出去的流量,
Curr:当前网卡流量
Avg:平均流量
Min:最小流量
Max:最大流量
Ttl:总共流量