目录
1 使用w查看系统负载
- w/uptime 查看系统负载
[root@worker1 ~]# w
15:49:55 up 6:26, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.139.1 17:27 ? 4.74s 0.02s w
[root@worker1 ~]# uptime
15:50:16 up 6:27, 1 user, load average: 0.00, 0.01, 0.05
关注第1行中的 load average:后面的3个数值,第1个数值表示1分钟内系统的平均负载值,第2个数值表示5分钟内系统的平均负载值,第3个数值表示15分钟内系统的平均负载值
- cat /proc/cpuinfo 查看cpu核数
[root@worker1 ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i7-3635QM CPU @ 2.40GHz
stepping : 9
microcode : 0x12
cpu MHz : 2394.660
cache size : 6144 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb pln pts dtherm fsgsbase smep xsaveopt
bogomips : 4789.32
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 58
model name : Intel(R) Core(TM) i7-3635QM CPU @ 2.40GHz
stepping : 9
microcode : 0x12
cpu MHz : 2394.660
cache size : 6144 KB
physical id : 0
siblings : 2
core id : 1
cpu cores : 2
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss ht syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx f16c rdrand hypervisor lahf_lm ida arat epb pln pts dtherm fsgsbase smep xsaveopt
bogomips : 4789.32
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
- 查看cpu的核数
[root@worker1 ~]# grep 'processor' /proc/cpuinfo
processor : 0
processor : 1
- 查看物理cpu数量
[root@worker1 ~]# grep 'physical id' /proc/cpuinfo
physical id : 0
physical id : 0
2 vmstat命令
- vmstat 命令监控系统的状态
[root@worker1 ~]# vmstat 1 5 //每隔1秒输出一次状态,共输出5次
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 0 1599368 876 161464 0 0 3 0 11 13 0 0 100 0 0
0 0 0 1599372 876 161464 0 0 0 0 22 24 0 0 100 0 0
0 0 0 1599372 876 161464 0 0 0 0 22 22 0 0 100 0 0
0 0 0 1599372 876 161464 0 0 0 0 14 13 0 0 100 0 0
0 0 0 1599372 876 161464 0 0 0 0 21 18 0 0 100 0 0
procs显示进程的相关信息
r(run):表示运行或等待CPU时间片的进程数。大家不要误认为等待CPU时间片意味着这个进程没有运行,实际上某一时刻1个CPU只能有一个进程占用,其他进程只能排着队等着,此时这些排队等待CPU资源的进程依然是运行状态。该数值如果长期大于服务器CPU的个数,则说明CPU资源不够用了。
b(block):表示等待资源的进程数,这个资源指的是I/O、内存等。举个例子,当磁盘读写非常频繁时,写数据就会非常慢,此时CPU运算很快就结束了,但进程需要把计算的结果写入磁盘,这样进程的任务才算完成,那此时这个进程只能慢慢地等待磁盘了,这样这个进程就是这个b状态。该数值如果长时间大于1,则需要关注一下了。
memory显示内存的相关信息。
swpd:表示切换到交换分区中的内存数量,单位为KB
free:表示当前空闲的内存数量,单位为KB
buff:表示(即将写入磁盘的)缓冲大小,单位为KB
cache:表示(从磁盘中读取的)缓存大小,单位为KB
swap显示内存的交换情况
si:表示由交换区写入内存的数据量,单位为KB
so:表示由内存写入交换区的数据量,单位为KB
io显示磁盘的使用情况
bi:表示从块设备读取数据的量(读磁盘),单位为KB
bo:表示从块设备写入数据的量(写磁盘),单位为KB
system显示采集间隔内发生的中断次数
in:表示在某一时间间隔内观测到的每秒设备的中断次数
cs:表示每秒产生的上下文切换次数
cpu显示CPU的使用状态
us:显示用户下所花费CPU的时间百分比
sy:显示系统花费CPU的时间百分比
id:表示CPU处于空闲状态的时间百分比
wa:表示I/O等待所占用CPU的时间百分比
st:表示被偷走的CPU所占百分比(一般都为0,不用关注)
3 top命令
- top查看进程使用资源情况
[root@worker1 ~]# top
top命令用于动态监控进程所占的系统资源,每隔3秒变一次。它的特点是把占用系统资源(CPU、内存、磁盘I/O等)最高的进程放到最前面。上例中,top命令打印出了很多信息,包括系统负载(loadaverage)、进程数(Tasks)、CPU使用情况、内存使用情况以及交换分区使用情况。这些内容其实可以通过其他命令来查看,用top重点查看的还是下面的进程使用系统资源的详细状况,其中你需要关注%CPU、%MEM和COMMAND这几项所代表的意义。RES这一项为进程所占的内存大小,而%MEM这一项为使用内存的百分比
- top -c 显示详细的进程信息
[root@worker1 ~]# top -c
- top -bn1 静态显示所有进程
[root@worker1 ~]# top -bn1
q退出
- 按数字1显示所有核cpu
- 大写字母M按内存使用排序
- 大写字母P按cpu使用排序
4 sar命令
- sar 命令监控系统状态
[root@worker1 ~]# yum install -y sysstat
- sar -n DEV 网卡流量
[root@worker1 ~]# sar -n DEV
Linux 3.10.0-327.el7.x86_64 (worker1) 10/15/2018 _x86_64_ (2 CPU)
05:16:34 PM LINUX RESTART
05:20:01 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
09:40:01 AM eno16777736 0.24 0.06 0.02 0.01 0.00 0.00 0.00
09:40:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
09:50:01 AM eno16777736 0.87 0.50 0.07 0.06 0.00 0.00 0.00
09:50:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:00:01 AM eno16777736 1.53 0.88 0.13 0.10 0.00 0.00 0.00
10:00:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:10:01 AM eno16777736 1.33 0.82 0.11 0.09 0.00 0.00 0.00
10:10:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:20:01 AM eno16777736 1.34 0.76 0.12 0.09 0.00 0.00 0.00
10:20:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:30:01 AM eno16777736 0.64 0.39 0.06 0.05 0.00 0.00 0.00
10:30:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10:40:01 AM eno16777736 0.22 0.03 0.01 0.00 0.00 0.00 0.00
10:40:01 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
IFACE这一列表示设备名称,rxpck/s这一列表示每秒进入收取的包的数量,txpck/s这一列表示每秒发送出去的包的数量,rxkB/s这一列表示每秒收取的数据量(单位为KB),txkB/s这一列表示每秒发送的数据量
如果rxpck/s那一列的数值大于4000,或者rxkB/s那一列的数值大5000000,很有可能是被攻击了。正常的服务器网卡流量不会这么高,除非是你自己在复制数据
- sar -q 系统负载
[root@worker1 ~]# sar -q
Linux 3.10.0-327.el7.x86_64 (worker1) 10/15/2018 _x86_64_ (2 CPU)
05:16:34 PM LINUX RESTART
05:20:01 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked
09:40:01 AM 0 233 0.00 0.02 0.05 0
09:50:01 AM 0 233 0.00 0.01 0.05 0
10:00:01 AM 0 233 0.00 0.01 0.05 0
10:10:01 AM 0 233 0.00 0.01 0.05 0
10:20:01 AM 0 233 0.01 0.02 0.05 0
10:30:01 AM 0 233 0.00 0.01 0.05 0
10:40:01 AM 0 233 0.00 0.01 0.05 0
10:50:01 AM 0 233 0.02 0.04 0.05 0
11:00:01 AM 0 233 0.00 0.01 0.05 0
11:10:01 AM 0 233 0.00 0.01 0.05 0
11:20:01 AM 0 233 0.00 0.01 0.05 0
11:30:01 AM 0 233 0.00 0.01 0.05 0
11:40:02 AM 0 233 0.00 0.01 0.05 0
11:50:01 AM 0 233 0.00 0.01 0.05 0
12:00:01 PM 0 233 0.00 0.01 0.05 0
12:10:01 PM 0 233 0.00 0.01 0.05 0
12:20:01 PM 0 233 0.00 0.01 0.05 0
12:30:01 PM 0 233 0.00 0.01 0.05 0
12:40:01 PM 1 233 0.00 0.01 0.05 0
12:50:01 PM 0 233 0.00 0.01 0.05 0
01:00:01 PM 0 233 0.00 0.01 0.05 0
01:10:01 PM 0 233 0.00 0.01 0.05 0
01:20:01 PM 0 233 0.00 0.01 0.05 0
01:30:01 PM 1 233 0.00 0.01 0.05 0
01:40:01 PM 0 233 0.00 0.01 0.05 0
- sar -b 磁盘读写
[root@worker1 ~]# sar -b
Linux 3.10.0-327.el7.x86_64 (worker1) 10/15/2018 _x86_64_ (2 CPU)
05:16:34 PM LINUX RESTART
05:20:01 PM tps rtps wtps bread/s bwrtn/s
09:40:01 AM 0.20 0.12 0.08 6.45 0.73
09:50:01 AM 0.26 0.13 0.13 19.36 1.47
10:00:01 AM 0.14 0.01 0.13 0.59 1.19
10:10:01 AM 0.18 0.03 0.15 1.00 1.48
10:20:01 AM 0.07 0.00 0.07 0.51 0.59
10:30:01 AM 0.02 0.00 0.02 0.00 0.22
10:40:01 AM 0.05 0.00 0.05 0.00 0.38
10:50:01 AM 0.63 0.39 0.24 19.10 3.89
11:00:01 AM 0.10 0.01 0.09 0.09 0.79
11:10:01 AM 0.06 0.00 0.06 0.00 0.47
11:20:01 AM 0.07 0.00 0.07 0.00 0.60
11:30:01 AM 1.21 1.01 0.19 41.54 3.25
11:40:02 AM 0.06 0.00 0.06 0.00 0.46
11:50:01 AM 0.07 0.00 0.07 0.00 0.57
12:00:01 PM 0.05 0.00 0.05 0.00 0.38
12:10:01 PM 0.03 0.00 0.03 0.00 0.26
12:20:01 PM 0.05 0.00 0.05 0.00 0.38
12:30:01 PM 0.04 0.00 0.04 0.00 0.34
12:40:01 PM 0.02 0.00 0.02 0.00 0.18
12:50:01 PM 0.05 0.00 0.05 0.00 0.44
01:00:01 PM 0.03 0.00 0.03 0.00 0.22
01:10:01 PM 0.06 0.00 0.06 0.00 0.46
01:20:01 PM 0.02 0.00 0.02 0.00 0.22
01:30:01 PM 0.05 0.00 0.05 0.00 0.44
01:40:01 PM 0.02 0.00 0.02 0.00 0.17
- sar -f /var/log/sa/saxx 历史文件
[root@worker1 ~]# sar -f /var/log/sa/sa15
Linux 3.10.0-327.el7.x86_64 (worker1) 10/15/2018 _x86_64_ (2 CPU)
05:16:34 PM LINUX RESTART
05:20:01 PM CPU %user %nice %system %iowait %steal %idle
09:40:01 AM all 0.01 0.00 0.14 0.05 0.00 99.80
09:50:01 AM all 0.01 0.00 0.11 0.04 0.00 99.83
10:00:01 AM all 0.02 0.00 0.13 0.02 0.00 99.83
10:10:01 AM all 0.02 0.00 0.13 0.03 0.00 99.82
10:20:01 AM all 0.01 0.00 0.11 0.02 0.00 99.87
10:30:01 AM all 0.01 0.00 0.09 0.03 0.00 99.88
10:40:01 AM all 0.00 0.00 0.07 0.02 0.00 99.91
10:50:01 AM all 0.03 0.00 0.15 0.16 0.00 99.66
11:00:01 AM all 0.02 0.00 0.10 0.01 0.00 99.87
11:10:01 AM all 0.01 0.00 0.10 0.01 0.00 99.88
11:20:01 AM all 0.01 0.00 0.09 0.02 0.00 99.88
11:30:01 AM all 0.01 0.00 0.10 0.15 0.00 99.74
11:40:02 AM all 0.01 0.00 0.11 0.01 0.00 99.87
11:50:01 AM all 0.01 0.00 0.08 0.01 0.00 99.90
12:00:01 PM all 0.00 0.00 0.06 0.02 0.00 99.91
12:10:01 PM all 0.00 0.00 0.06 0.09 0.00 99.85
12:20:01 PM all 0.00 0.00 0.06 0.09 0.00 99.84
12:30:01 PM all 0.00 0.00 0.06 0.10 0.00 99.84
12:40:01 PM all 0.00 0.00 0.06 0.09 0.00 99.85
12:50:01 PM all 0.00 0.00 0.06 0.09 0.00 99.85
01:00:01 PM all 0.00 0.00 0.06 0.09 0.00 99.84
01:10:01 PM all 0.01 0.00 0.06 0.08 0.00 99.85
01:20:01 PM all 0.00 0.00 0.06 0.10 0.00 99.84
01:30:01 PM all 0.00 0.00 0.06 0.09 0.00 99.85
01:40:01 PM all 0.00 0.00 0.07 0.09 0.00 99.84
其中/var/log/sa/sarxx文件是可以使用cat命令查看的,但是/var/log/sa/saxx文件,必须使用sar -f查看,否则会出现乱码
5 nload命令
- nload 命令查看网卡流量
- 安装包
yum install -y epel-release
yum install -y nload
[root@worker1 ~]# nload
Device eno16777736 [192.168.139.100] (1/2):
================================================================================================
Incoming:
Curr: 944.00 Bit/s
Avg: 1.00 kBit/s
Min: 944.00 Bit/s
Max: 1.84 kBit/s
Ttl: 1.35 MByte
Outgoing:
Curr: 8.30 kBit/s
Avg: 7.96 kBit/s
Min: 4.24 kBit/s
Max: 8.30 kBit/s
Ttl: 1.59 MByte
Device lo [127.0.0.1] (2/2):
================================================================================================
Incoming:
Curr: 0.00 Bit/s
Avg: 0.00 Bit/s
Min: 0.00 Bit/s
Max: 0.00 Bit/s
Ttl: 0.00 Byte
Outgoing:
Curr: 0.00 Bit/s
Avg: 0.00 Bit/s
Min: 0.00 Bit/s
Max: 0.00 Bit/s
Ttl: 0.00 Byte
最上面一行为网卡名字以及IP地址,按向右箭头可以查看其他网卡的网络流量。输出结果分为两部分,Incoming为进入网卡的流量,Outgoing为网卡出去的流量,我们关注的当然是Curr那行的数据,其单位也可以动态自动调整,非常人性化。按q退出该界面