linux服务器监控之内存、cpu、网络、磁盘
一、服务器实时内存监控
Linux帮助命令
-
man:Linux下的函数手册命令,可以查看所有命令的使用方法
-
ls:
-
ls -al:
-
ll:
实时监控命令
-
top: 能够实时监控系统的运行状态,并且可以按照cpu及内存等进行排序。
语法:top -hv|-bcHiOSs -d secs -n max -u|U user -p pid(s) -o filed -w[cols ]
top参数:-h :帮助
-p :监控指定的进程。当监控多个进程时,进程ID以逗号分隔。这个选项只能在命令行下使用
top任务区命令:
M : 按内存使用率排序
P : 按CPU使用率排序
Z : 彩色/黑白显示
top中的load average:系统的运行队列的平均利用率,也可以认为是可运行进程的平均数。三个值分别 表示最后的1分钟、5分钟、15分钟的平均负载值。
top说明:在单核cpu中load average的值为1时表示满负荷状态。同理在多核cpu中满负载的load average的值为1*cpu核数。
-
vmstat: 可以监控操作系统的进程状态、内存、虚拟内存、磁盘IO、CPU的信息。
语法:vmstat [-a] [-n] [-S unit] [delay [count]]
vmstat参数:-S :使用指定单位显示。参数有k、K、m、M,分别代表1000、1024、1000000、1048576字节(byte)。默认单位为K(1024 bytes)
-
Free: 能够监控系统的内存使用状态
其中:
total: 总计物理内存大小
Used: 已使用多大
Free: 可用多少
shared: 多少个进程共享的内存总额
buffers/cached: 磁盘缓存的大小
二、服务器实时cpu监控
实时监控-cpu
-
mpstat:mpstat最大的特点是:可以查看多核心cpu中每个计算核心的统计数据。
语法:mpstat [-P{|ALL}] [internal[count]]
mpstat参数:
-P{|ALL} : 表示监控哪个CPU,cpu在[0,cpu个数-1]中取值
internal: 相邻的两次采样的间隔时间
count: 采样的次数,count只能和delay一起使用
mpstat需注意:
当没有参数时,mpstat则显示系统启动以后所有信息的平均值。
当有internal时,第一行的信息自系统启动以来的平均信息,从第二行开始,输出为前一个internal时间段的平均信息。
三、服务器实时网络监控
实时监控-网络
-
netstat: netstat命令用于显示本机网络连接、运行端口、路由表等信息。
netstat参数:
-n: 拒绝显示别名,能显示数字的全部转化成数字
-l : 仅列出有在Listen(监听)的服务状态
-p : 显示建立相关链接的程序名
-t : 显示tcp相关选项
-u(udp) : 仅显示udp相关选项
-i: 显示自动匹配接口的信息
-c : 每隔一个固定时间,执行该netstat命令
常用的命令:
1)netstat -ntlp
2)netstat -i 1
Iface : 表示网络设备的接口名称
MTU : 表示最大的传输单元,单位:byte字节
RX-OK : 表示准确无误的接收多少数据包
RX-ERR : 表示接收数据包时发生了多少错误
RX-DRP : 表示接收数据包时丢了多少数据
RX-OVR : 表示由于误差接收的时候而丢失多少数据包
TX-OK :表示准确无误的发送多少数据包
TX-ERR : 表示发送数据包时发生了多少错误
TX-DRP : 表示发送数据包时丢了多少数据
TX-OVR : 表示由于误差发送的时候而丢失多少数据包
Flg : 标记 B表示已经设置了一个广播地址,L是该接收时的回送设备,M表示接收所有的数据包,
上图在实际工作当中,查看网络的情况是,要注意RX-ERR、RX-DRP、RX-OVR、TX-ERR、TX-DRP、TX-OVR这些数据应该为0,如果不是0且数据较大,说明网络是存在问题的。看网络传输的大小以及有没有发生错误。这样就达到了网络监控的一个目的。
四、服务器实时磁盘监控
磁盘监控的重要性:就是在部署完应用程序后,应用程序在磁盘上进行读取以及写入的数据操作都是属于磁盘的一个工作,比如说程序运行起来后,打印一个日志,这就是写磁盘的一个操作
实时监控-磁盘
-
iostat: iostat是对磁盘IO操作进行监控,它的输出主要显示磁盘的读写操作的统计信息。同时给出cpu的使用情况。
iostat用法:
iostat [-c|-d] [-k|-m][-t][-V][-x][device[…]|ALL][-p[device|ALL]][interval[count]]]
-x device 输出指定要统计的磁盘设备名称,默认为所有磁盘设备
iostat参数:
-n: 拒绝显示别名,能显示数字的全部转化成数字
-l : 仅列出有在Listen(监听)的服务状态
-p : 显示建立相关链接的程序名
-t : 显示tcp相关选项
-u(udp) : 仅显示udp相关选项
-i: 显示自动匹配接口的信息
-c : 每隔一个固定时间,执行该netstat命令
Device: 设备名称
tps: 这里指的是一次io请求
kB_read/s:每秒钟读的数据大小
kB_wrtn/s:每秒钟写入的数据大小
kB_read: 读的总数
kB_wrtn: 写的总数
上图重点关注: rkB/s 、 wkB/s(读取和写入的每秒的数据大小)、 %util (处理io数据的大小,如果很大,就证明io操作特别繁忙,io方面会有瓶颈的发生)
上图应用场景:自己在知道哪个磁盘在哪个设备上使用,主要关注自己熟知的设备名称
来源地址:https://blog.csdn.net/anan_MXYY/article/details/129727807
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341