使用w查看系统负载、 vmstat_top_sar_nload命令、监控io性能、free命令、ps命令、查看网络状态、linux下抓包、Linux网络相关

时间:2022-03-02 17:02:06

监控系统状态

  • w/uptime 查看系统负载
  • cat /proc/cpuinfo 查看cpu核数
  • vmstat 监控系统状态
  • 用法vmstat 1
  • 关键的几列:r,b,swpd,si,so,bi,bo,us,wa

  • top 查看进程使用资源情况

  • top -c 显示详细的进程信息
  • top -bn1 静态显示所有进程
  • q退出,数字1显示所有核cpu,大写字母M按内存排序
  • 大写字母P按cpu使用排序

一、使用w查看系统负载

w命令

w命令用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。执行这个命令可得知目前登入系统的用户有那些人,以及他们正在执行的程序。单独执行w命令会显示所有的用户,您也可指定用户名称,仅显示某位用户的相关信息。

查看系统负载(w)

[root@aming01 ~]# w
 22:09:19 up 0 min,  1 user,  load average: 0.55, 0.13, 0.04
USER     TTY      FROM             LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.0.101 22:09 5.00s 0.02s 0.01s w

第一行从左边开始显示的信息依次是:时间,系统运行时间,登录用户数,平均负载(1min平均负载、5min平均负载、15min平均负载)。
load average:平均负载,即单位时间内CPU活动进程数,这个值越大说明服务器压力越大,一般该值不超过cpu数量就可以。(0也不好,空跑,最理想状态看你有几个CPU,逻辑CPU)


查看服务器CPU数量有几个,命令:cat /proc/cpuinfo

查看processor项,如果是0,那就表示为一颗,如果为1,就2颗,逻辑CPU。

[root@aming01 ~]# cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 158
model name  : Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz
stepping    : 9
microcode   : 0x70
cpu MHz     : 3400.000
cache size  : 6144 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

uptime命令
uptime命令能够打印系统总共运行了多长时间和系统的平均负载。uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

注: uptime得到的信息和w第一行结果是一样的。

二、vmstat

vmstat 静态显示内存状态一次。

[root@aming01 ~]# 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 1264800   2076 134300    0    0    12     1   45   46  0  0 100  0  0

vmstat n 以n秒每次的频率动态显示内存状态
vmstat n m 每n秒显示一次,显示m次后命令结束

[root@aming01 ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 3  0      0 1264940   2076 134332    0    0    12     1   45   46  0  0 100  0  0
 0  0      0 1264924   2076 134332    0    0     0     0   48   46  0  0 100  0  0
 0  0      0 1264924   2076 134332    0    0     0     0   36   31  0  0 100  0  0
 0  0      0 1264924   2076 134332    0    0     0     0   42   38  0  0 100  0  0
 0  0      0 1264924   2076 134332    0    0     0     1   43   42  0  0 100  0  0
 0  0      0 1264924   2076 134332    0    0     0     0   50   42  0  0 100  0  0
 0  0      0 1264924   2076 134332    0    0     0     0   38   33  0  0 100  0  0
^C
[root@aming01 ~]# 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 1264940   2076 134332    0    0    12     1   45   46  0  0 100  0  0
 0  0      0 1264924   2076 134332    0    0     0     0   52   51  0  0 100  0  0
 0  0      0 1264924   2076 134332    0    0     0     0   39   36  0  0 100  0  0
 0  0      0 1264924   2076 134332    0    0     0     0   40   34  0  1 99  0  0
 0  0      0 1264924   2076 134332    0    0     0     0   45   41  0  0 100  0  0
[root@aming01 ~]#
  • proc 显示进程相关信息
    r:=run,表示运行中或等待cpu运行的进程数,如果该数长期大于服务器CPU个数,则说明CPU不够用了。
    b:表示等待资源的进程数。进程被CPU以外的资源,如硬盘网络等阻断了,如,等待I/O,内存等,这列的值如果长时间大于1,则需要关注一下。
  • proc 显示进程相关信息
    r:=run,表示运行中或等待cpu运行的进程数,如果该数长期大于服务器CPU个数,则说明CPU不够用了。
    b:表示等待资源的进程数,如,等待I/O,内存等,这列的值如果长时间大于1,则需要关注一下。
  • memory 内存相关信息
    swpd:表示切换到交换分区的内存量(当该数据不断变化时说明内存不足)
    free:表示当前空闲的内存量
    buff:缓冲大小
    cache:缓存大小
  • swap 内存交换情况
    si:=storage in,表示交换区写入到内存的数据量,有多少KB的数据从SWAP进入到内存中。
    so:=storage out,表示由内存写入到交换区的数据量,有多少KB的数据从内存出来
  • io 磁盘使用情况
    bi:=block in,表示从块设备读取数据(写入内存)的量(即:读磁盘),从磁盘出来到内存里去
    bo:=block out,表示(从内存读取)写入到块设备的数据(即:写磁盘)
    注: 此处数据会直接关系到proc出的b的值。
  • system 显示采集间隔内发生的中断次数
    in:表示在某一时间间隔中观测到的每秒设备中断数
    cs:表示每秒产生的上下文切换次数
  • CPU 显示CPU的使用状态(us+sy+id=100%)
    us:表示用户资源所花费CPU的百分比(当该值长时间>20、30时说明CPU数量不足,10以内比较好)
    sy:表示系统资源所花费CPU的百分比
    id:表示CPU处于空闲状态的百分比
    wa:=wait,表示等待使用CPU的百分比(该数值大说明CPU不足)
    st:表示被偷走的CPU所占百分比(该值一般为0,不用关注)