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

浙公网安备 33010602011771号