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,查看网络连接和进程信息。
- 使用
844

被折叠的 条评论
为什么被折叠?



