1、监控系统的状态
1.1监控系统的状态
主要实现的是查看查看系统负载信息和查看系统内存、网卡、进程等信息
使用w查看当前系统的负载 [root@cctv ~]# w 06:10:23 up 6:02, 1 user, load average: 0.08, 0.03, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.100.1 06:10 3.00s 0.07s 0.02s w
1、 第一行从左面开始显示的信息依次为:时间,系统运行时间,登录用户数,平均负载。
2、‘load average:’ 后面的三个数值:第一个数值表示1分钟内系统的平均负载值
第二个数值表示5分钟内系统的平均负载值
第三个数值表示15分钟系统的平均负载值
这个值的意义是,单位时间段内CPU活动进程数。当然这个值越大就说明你的服务器压力越大。一般情况下这个值只要不超过服务器的cpu数量就没有关系,如果服务器cpu数量为8,那么这个值若小于8,就说明当前服务器没有压力,否则就要关注一下了。
3、第二行开始以及下面所有的行,告诉我们的信息是,当前登录的都有哪些用户,以及他们是从哪里登录的等等。
查看服务器有几个cpu [root@cctv ~]# cat /proc/cpuinfo | head -n 20 ##记录了cpu的详细信息 processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 142 model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz stepping : 10 microcode : 0xb4 cpu MHz : 1992.000 cache size : 8192 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 22 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single ssbd ibrs ibpb stibp fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid mpx rdseed adx smap clflushopt xsaveopt xsavec arat md_clear spec_ctrl intel_stibp flush_l1d arch_capabilities
查看当前系统有几个cpu [root@cctv ~]# grep -c 'processor' /proc/cpuinfo 2
上面使用的 w 查看的是系统整体上的负载,通过看那个数值可以知道当前系统有没有压力,但是具体是哪里(CPU, 内存,磁盘等)有压力就无法判断了。通过 vmstat 就可以知道具体是哪里有压力。
使用 vmstat 监控系统的状态 [root@cctv ~]# vmstat 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 3596568 3372 163464 0 0 3 0 19 38 0 0 100 0 0 [root@cctv ~]# vmstat 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 2 0 0 3596808 3372 163504 0 0 3 0 19 38 0 0 100 0 0 0 0 0 3596784 3372 163504 0 0 0 0 59 89 0 0 100 0 0 0 0 0 3596784 3372 163504 0 0 0 0 36 71 0 0 100 0 0 0 0 0 3596784 3372 163504 0 0 0 0 34 67 0 0 100 0 0 0 0 0 3596784 3372 163504 0 0 0 0 36 75 0 0 100 0 0 每隔一秒钟打印一次状态,共打印5次
vmstat命令打印的结果共分为6部分:procs, memory, swap, io, system, cpu.
1)procs 显示进程相关信息
r :表示运行和等待cpu时间片的进程数,如果长期大于服务器cpu的个数,则说明cpu不够用了;
b :表示等待资源的进程数,比如等待I/O, 内存等,这列的值如果长时间大于1,则需要关注一下了;
2)memory 内存相关信息
swpd :表示切换到交换分区中的内存数量 ;
free :当前空闲的内存数量;
buff :缓冲大小,(即将写入磁盘的);
cache :缓存大小,(从磁盘中读取的);
3)swap 内存交换情况
si :由交换区写入到内存的数据量;
so :由内存写入到交换区的数据量;
4)io 磁盘使用情况
bi :从块设备读取数据的量(读磁盘);
bo: 从块设备写入数据的量(写磁盘);
5)system 显示采集间隔内发生的中断次数
in :表示在某一时间间隔中观测到的每秒设备中断数;
cs :表示每秒产生的上下文切换次数;
6)CPU 显示cpu的使用状态
us :显示了用户下所花费 cpu 时间的百分比;
sy :显示系统花费cpu时间百分比;
id :表示cpu处于空闲状态的时间百分比;
wa :表示I/O等待所占用cpu时间百分比;
st :表示被偷走的cpu所占百分比(一般都为0,不用关注);
IO部分的bi以及bo也是要经常参考的对象。如果磁盘io压力很大时,这两列的数值会比较高。
另外当si, so两列的数值比较高,并且在不断变化时,说明内存不够了,内存中的数据频繁交换到交换分区中,这往往对系统性能影响极大。
以上所介绍的各个参数中,要经常关注关注r列,b列,和wa列
1.2 Linux网络相关
主要使用Linux网络命令查看网卡信息
ifconfig类似与windows的ipconfi