Linux 资源使用监控详细教程
介绍
在 Linux 系统中,监控资源使用情况是系统管理员的重要任务之一。通过监控 CPU、内存、磁盘和网络等资源的使用情况,可以及时发现性能瓶颈、优化系统配置、排查故障。本教程以 CentOS 为例,详细介绍如何使用系统自带的工具监控系统资源。
CPU 监控
CPU 是系统的核心资源之一,监控 CPU 使用情况可以帮助发现性能瓶颈。
使用 lscpu
查看 CPU 信息
lscpu
是一个简单的工具,用于显示 CPU 架构和信息。
使用 lscpu
运行 lscpu
:
lscpu
输出解读
Architecture
:CPU 架构(如 x86_64)。CPU(s)
:CPU 核心数。Model name
:CPU 型号。MHz
:CPU 频率。
使用 top
监控 CPU 使用情况
top
是一个实时监控工具,可以显示系统的整体状态和各个进程的资源使用情况。
使用 top
运行 top
:
top
输出解读
- 第一行:系统时间、运行时间、用户数、负载平均值。
- 第二行:任务总数、运行中的任务数、睡眠中的任务数等。
- 第三行:CPU 使用情况:
us
:用户空间占用 CPU 百分比。sy
:内核空间占用 CPU 百分比。ni
:优先级调整占用 CPU 百分比。id
:空闲 CPU 百分比。wa
:等待 I/O 操作的 CPU 百分比。hi
:硬件中断占用 CPU 百分比。si
:软件中断占用 CPU 百分比。st
:虚拟机偷取的 CPU 百分比。
常用快捷键
P
:按 CPU 使用率排序。M
:按内存使用率排序。q
:退出top
。
内存监控
内存是系统的关键资源之一,监控内存使用情况可以帮助发现内存泄漏和性能问题。
使用 free
监控内存使用情况
free
是一个简单的工具,用于显示系统内存使用情况。
使用 free
运行 free
:
free -h
-h
:以人类可读的格式显示。
输出解读
total
:总内存。used
:已用内存。free
:空闲内存。shared
:共享内存。buff/cache
:缓存和缓冲区内存。available
:可用内存。
使用 vmstat
监控内存和系统活动
vmstat
是一个多功能工具,可以监控内存、CPU、磁盘和系统活动。
使用 vmstat
运行 vmstat
:
vmstat 1 5
1
:每隔 1 秒刷新一次。5
:总共刷新 5 次。
输出解读
memory
部分:swpd
:使用的虚拟内存大小。free
:空闲内存大小。buff
:缓冲区内存大小。cache
:缓存内存大小。
swap
部分:si
:每秒从磁盘读入的内存大小。so
:每秒写入磁盘的内存大小。
磁盘监控
磁盘 I/O 是系统性能的关键因素之一,监控磁盘使用情况可以帮助发现 I/O 瓶颈。
使用 df
查看磁盘空间
df
是一个简单的工具,用于显示磁盘空间使用情况。
使用 df
运行 df
:
df -h
-h
:以人类可读的格式显示。
输出解读
Filesystem
:文件系统。Size
:总空间。Used
:已用空间。Avail
:可用空间。Use%
:使用百分比。Mounted on
:挂载点。
使用 du
查看目录占用空间
du
是一个简单的工具,用于显示目录或文件的磁盘使用情况。
使用 du
运行 du
:
du -sh /path/to/directory
-s
:显示总大小。-h
:以人类可读的格式显示。
输出解读
大小
:目录或文件的总大小。路径
:目录或文件的路径。
网络监控
网络是系统的重要组成部分,监控网络使用情况可以帮助发现网络瓶颈和安全问题。
使用 ss
监控网络连接
ss
是一个强大的工具,用于显示网络连接信息。
使用 ss
运行 ss
:
ss -tunap
-t
:显示 TCP 连接。-u
:显示 UDP 连接。-n
:以数字形式显示地址和端口。-a
:显示所有连接。-p
:显示进程信息。
输出解读
State
:连接状态(如ESTAB
表示已建立)。Local Address
:本地地址和端口。Peer Address
:远程地址和端口。Process
:进程名称和 PID。
使用 netstat
监控网络状态
netstat
是一个传统的工具,用于显示网络连接、路由表、接口统计信息等。
使用 netstat
运行 netstat
:
netstat -tunap
-t
:显示 TCP 连接。-u
:显示 UDP 连接。-n
:以数字形式显示地址和端口。-a
:显示所有连接。-p
:显示进程信息。
输出解读
Proto
:协议(如tcp
或udp
)。Local Address
:本地地址和端口。Foreign Address
:远程地址和端口。State
:连接状态(如ESTABLISHED
)。PID/Program name
:进程 ID 和名称。
综合监控
使用 top
综合监控
top
不仅可以监控 CPU,还可以综合监控内存、进程等资源。
使用 top
运行 top
:
top
输出解读
- CPU 使用率:以百分比显示。
- 内存使用率:以百分比显示。
- 进程列表:显示各个进程的资源使用情况。
日志管理与分析
系统日志是排查问题的重要依据。可以通过以下工具管理日志:
journalctl
:查看系统日志。logrotate
:管理日志轮转。
常见问题
-
如何监控特定进程的资源使用情况?
- 使用
top
,按P
键按 CPU 使用率排序,找到目标进程。
- 使用
-
如何监控磁盘空间不足?
- 使用
df -h
,查看磁盘使用百分比。
- 使用
-
如何监控网络连接状态?
- 使用
ss -tunap
或netstat -tunap
,查看网络连接和进程信息。
- 使用