Linux系统监控入门

CPU监控:

top 命令是一个性能监控程序

虚拟内存监控 vmstat

vmstat 工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数。

$ vmstat 2 1
参数描述
r 表示运行队列,如果运行队列过大,表示你的 CPU 很繁忙,一般会造成 CPU 使用率很高
b 表示阻塞的进程数
swpd 虚拟内存已使用的大小,如果大于 0,表示机器物理内存不足了,如果不是程序内存泄露的原因,那么你该升级内存了或者把耗内存的任务迁移到其他机器
free 空闲的物理内存的大小
buff 系统占用的缓存大小
cache 直接用来记忆我们打开的文件,给文件做缓冲
si 每秒从磁盘读入虚拟内存的大小,如果这个值大于 0,表示物理内存不够用或者内存泄露了
cs 每秒上下文切换数
us 用户 CPU 时间
sy 系统 CPU 时间
so 每秒虚拟内存写入磁盘的大小,如果这个值大于 0,同上
sy 系统 CPU 时间,如果太高,表示系统调用时间长,例如是 IO 操作频繁
id 空闲 CPU 时间,一般来说,id + us + sy = 100
wa IO 等待时间百分比 wa 的值高时,说明 IO 等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈(块操作)
st 来自于一个虚拟机偷取的CPU时间的百分比

 

列出打开的文件:lsof

以列表的形式显示所有打开的文件和进程。打开的文件包括磁盘文件、网络套接字、管道、设备和进程。

sudo apt-get install lsof
$ lsof

网络包分析器:tcpdump

tcpdump 是最广泛使用的网络包分析器或者包监控程序

参数描述
-h 查看命令帮助
-i 网络接口
-c 需要输出包数量
$ sudo apt-get update
$ sudo apt-get install tcpdump
$ tcpdump -h
$ sudo tcpdump -i eth0 -c 3

网络状态统计:netstat

netstat 是一个用于监控进出网络的包和网络接口统计的命令行工具

参数描述
-h 查看帮助
-r 查看 IP 路由表
-i 查看网络接口

进程监控:htop

htop 是一个非常高级的交互式的实时 Linux 进程监控工具。它和 top 命令十分相似,但是它具有更丰富的特性,例如用户可以友好地管理进程,快捷键,垂直和水平方式显示进程等等。

$ sudo apt-get install htop
$ htop

监控 Linux 磁盘 I/O :iotop

iotop 监控并显示实时磁盘 I/O 和进程的统计功能。在查找具体进程和大量使用磁盘读写进程的时候,这个工具就非常有用。

输入/输出统计:iostat

iostat 是一个用于收集显示系统存储设备输入和输出状态统计的简单工具。这个工具常常用来追踪存储设备的性能问题,其中存储设备包括本地磁盘以及诸如用 NFS 等的远端磁盘。

$ sudo apt-get install sysstat
$ iostat

avg-cpu 段:

参数含义
%user 在用户级别运行所使用的 CPU 的百分比
%nice 优先进程消耗的 CPU 时间,占所有 CPU 的百分比
%system 在系统级别(kernel)运行所使用 CPU 的百分比
%iowait CPU 等待硬件 I/O 时,所占用 CPU 百分比
%steal 管理程序维护另一个虚拟处理器时,虚拟 CPU 的无意识等待时间百分比
%idle CPU 空闲时间的百分比

Device 段:

参数含义
tps 每秒钟发送到的 I/O 请求数
KB_read/s 每秒读取的 block 数
KB_wrtn/s 每秒写入的 block 数
KB_read 启动到现在 读入的 block 总数
KB_wrtn 启动到现在写入的 block 总数

查看帮助:

$ man iostat

实时局域网 IP 监控:IPTraf

IPTraf 是一个在 Linux 控制台运行的、开放源代码的实时网络(局域网)监控应用。它采集了大量信息,比如通过网络的 IP 流量监控,包括 TCP 标记、ICMP 详细信息、TCP/UDP 流量分离、TCP 连接包和字节数。同时还采集有关接口状态的常见信息和详细信息:TCP、UDP、IP、ICMP、非 IP,IP 校验和错误,接口活动等。

$ sudo apt-get install iptraf
$ sudo iptraf

 

 

posted @ 2020-02-13 19:50  逐梦客!  阅读(119)  评论(0)    收藏  举报