linux 系统监控命令

free 查看内存使用情况,包括物理内存和虚拟内存
vmstat 对系统的整体情况进行统计,包括内核进程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息
top 实时显示系统中各个进程的资源占用状况及总体状况
mpstat 实时系统监控工具,它会报告与CPU相关的统计信息
sar 收集、报告和保存CPU、内存、输入输出端口使用情况
netstat 检验本机各端口的网络连接情况,用于显示与IP、TCP、UDP和ICMP协议相关的统计数据
IPTraf 用来生成包括TCP信息、UDP计数、ICMP和OSPF信息、以太网负载信息、节点状态信息、IP校验和错误等等统计数据
iostat 收集显示系统存储设备输入和输出状态统计
iotop 用来监视磁盘I/O使用状况的top类工具
lsof 用于以列表的形式显示所有打开的文件和进程
atop 显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注
htop 它和top命令十分相似,高级的交互式的实时linux进程监控工具
glances 监视 CPU,平均负载,内存,网络流量,磁盘 I/O,其他处理器 和 文件系统 空间的利用情况
dstat 全能系统信息统计工具,可用于替换vmstat、iostat、netstat、nfsstat和ifstat这些命令的工具
dmesg 主要用来显示内核信息。使用dmesg可以有效诊断机器硬件故障或者添加硬件出现的问题。
mpstat 用于报告多路CPU主机的每颗CPU活动情况,以及整个主机的CPU情况。
mytop 用于监控 mysql 的线程和性能。它能让你实时查看数据库以及正在处理哪些查询
iftop 用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等
jnettop 以相同的方式来监测网络流量但比 iftop 更形象。它还支持自定义的文本输出,并能以友好的交互方式来深度分析日志。
ngrep 网络层的 grep。它使用 pcap ,允许通过指定扩展正则表达式或十六进制表达式来匹配数据包。
nmap 可以扫描你服务器开放的端口并且可以检测正在使用哪个操作系统

一、IO监控

[root@centos7 zabbix]# yum -qy install /usr/bin/iostat
[root@centos7 ~]# iostat
Linux 3.10.0-693.el7.x86_64 (centos7) 	01/14/2019 	_x86_64_	(1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           2.80    0.00    5.54   23.28    0.00   68.39

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              67.16      2946.88       147.44     325129      16267

%user:进程处于用户状态所占CPU时间百分比
%nice: 改变过优先级的进程的占用CPU的百分比.
%system:进程处于内核状态所占CPU时间百分比
%iowait:CPU等等IO操作所占用的CPU百分比,当磁盘IO比较大的时候该值会增加。
%steal:分配给虚拟机占用的CPU百分比
%idle:CPU空闲时间的百分比
tps: 每秒钟发送到的I/O请求数(可以理解成每秒磁盘IO处理的请求,这样可能更好理解)
Blk_read /s: 每秒读取的block数
Blk_wrtn/s: 每秒写入的block数
Blk_read:   读入的block总数
Blk_wrtn:  写入的block总数

[root@centos7 zabbix]# iostat -xdm 
Linux 3.10.0-693.el7.x86_64 (centos7) 	03/23/2019 	_x86_64_	(1 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rMB/s    wMB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.01    0.18    2.47     0.01     0.05    40.29     0.01    3.33   19.19    2.18   1.69   0.45
scd0              0.00     0.00    0.00    0.00     0.00     0.00   114.22     0.00   15.22   15.22    0.00  11.39   0.00

%util      代表磁盘繁忙程度。100% 表示磁盘繁忙, 0%表示磁盘空闲。但是注意,磁盘繁忙不代表磁盘(带宽)利用率高  
argrq-sz    提交给驱动层的IO请求大小,一般不小于4K,不大于max(readahead_kb, max_sectors_kb)。 可用于判断当前的IO模式,一般情况下,尤其是磁盘繁忙时, 越大代表顺序,越小代表随机
svctm        一次IO请求的服务时间,对于单块盘,完全随机读时,基本在7ms左右,既寻道+旋转延迟时间

二、CPU监控

[root@centos7 ~]# mpstat -P ALL
Linux 3.10.0-693.el7.x86_64 (centos7) 	01/14/2019 	_x86_64_	(1 CPU)

10:43:45 AM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
10:43:45 AM  all    0.38    0.00    0.76    2.97    0.00    0.01    0.00    0.00    0.00   95.87
10:43:45 AM    0    0.38    0.00    0.76    2.97    0.00    0.01    0.00    0.00    0.00   95.87

%user:进程处于用户状态所占CPU时间百分比
%nice: 改变过优先级的进程的占用CPU的百分比.
%system:进程处于内核状态所占CPU时间百分比
%iowait:CPU等等IO操作所占用的CPU百分比,当磁盘IO比较大的时候该值会增加。
%steal:分配给虚拟机占用的CPU百分比
%idle:CPU空闲时间的百分比

三、内存监控

[root@centos7 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:      32830608   32501660     328948          0     285540   10956472
-/+ buffers/cache:   21259648   11570960
Swap:     16383992     216520   16167472

free:内存中剩余未被使用的空间大小
buffers:文件缓存大小,linux本身就是一个文件型系统,所以linux会为每个文件进行缓存用来加速文件的查找。
cached:页缓存,所有以页为单位的缓存都会被缓存到这来,所以从这里其实也可以大概看出服务器的内存使用情况,因为大部分的内存都是以页进行缓存的 
total=used+free
total=(-buffers/cache)+(+buffers/cache)
-/+ buffers/cache:反应的是内存的实际使用情况
-buffers/cache:21259648=used-buffers-cached,这部分也是真正被使用掉的内存
+buffers/cache:11570960=(free+buffers+cached),这部分是可以直接拿来用的内存,所以看内存的剩余可用情况可以参考+buffers/ca

四、进程监控

[root@centos7 ~]# top   -u mysql 
top - 10:51:15 up 22 min,  1 user,  load average: 0.01, 0.02, 0.05
Tasks: 185 total,   2 running, 183 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.2%sy,  0.0%ni, 99.5%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  32864496k total,  4749428k used, 28115068k free,   167268k buffers
Swap:  1048572k total,        0k used,  1048572k free,   259776k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  2285 mysql     20   0 27.5g 3.8g 8236 S  0.3 12.1   7:56.92 mysqld    

up 系统已运行的时间22分钟  2个用户登入 load average分别表示5分钟内的、10分钟内的、15分钟内排队的进程数,只要第一个数字即5分钟内的负载不大于5,系统就是健康的
tasks:185个进程总数,2个正在运行的进程,183个睡眠的进程,0个停止的进程,0个僵尸进程
cpu:0.1%us(用户占用), 0.2%sy(系统占用), 0.0%ni, 99.5%id(空闲), 0.1%wa(等待输入输出的CPU时间百分比), 0.0%hi, 0.0%si, 0.0%st
Mem: 32864496k total(总内存), 4749428k used(已使用内存), 28115068k free(未使用的内存), 167268k buffers(内核缓存)
Swap: 1048572k total(交换区总大小), 0k used(已使用), 1048572k free(未使用), 259776k cached(缓冲的交换区总量)
PID:进程ID
USER:用户
PR:优先级
NI:nice值。负值表示高优先级,正值表示低优先级
S:进程状态(R:运行,S:睡眠,T:停止,Z:僵尸进程,D:不可中断的睡眠状态)
%CPU:占用的CPU百分比
%MEM:占用的内存百分比
TIME+:累计占用的CPU时间
COMMAND:命令

五、流量监控

[root@vultr ~]# iftop -n

                           12.5Kb                     25.0Kb                     37.5Kb                     50.0Kb		 62.5Kb
mqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqqvqqqqqqqqqqqqqqqqqqqqqqqqqq
207.246.104.14                                        => 193.201.224.12                                         10.8Kb  2.35Kb  1.40Kb
                                                      <=                                                        3.66Kb   845b    483b
207.246.104.14                                        => 125.120.64.180                                         1.55Kb  1.36Kb  1.17Kb
                                                      <=                                                         160b    381b    230b
207.246.104.14                                        => 108.61.10.10                                            292b     58b     15b
                                                      <=                                                         532b    106b     27b
207.246.104.14                                        => 218.92.0.191                                              0b     48b    168b
                                                      <=                                                           0b     32b     80b



qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq
TX:             cum:   78.1KB   peak:	16.8Kb                                                         rates:	12.6Kb  3.82Kb  2.74Kb
RX:                    28.0KB           4.33Kb                                                                  4.33Kb  1.33Kb   820b
TOTAL:                  106KB           20.9Kb                                                                  16.9Kb  5.15Kb  3.55Kb

<= =>:表示流量的方向;
TX:发送流量;
RX:接收流量;
cum:运行iftop到当前时间的总流量;
peak:流量峰值;
rates:分别表示过去2s、10s、40s的平均流量
posted @ 2019-01-15 00:02  reaperhero  阅读(187)  评论(0编辑  收藏  举报