Linux自带的资源使用监控命令(cpu,磁盘,网路,内存)

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:协议(如 tcpudp)。
  • Local Address:本地地址和端口。
  • Foreign Address:远程地址和端口。
  • State:连接状态(如 ESTABLISHED)。
  • PID/Program name:进程 ID 和名称。

综合监控

使用 top 综合监控

top 不仅可以监控 CPU,还可以综合监控内存、进程等资源。

使用 top

运行 top

top
输出解读
  • CPU 使用率:以百分比显示。
  • 内存使用率:以百分比显示。
  • 进程列表:显示各个进程的资源使用情况。

日志管理与分析

系统日志是排查问题的重要依据。可以通过以下工具管理日志:

  • journalctl:查看系统日志。
  • logrotate:管理日志轮转。

常见问题

  1. 如何监控特定进程的资源使用情况?

    • 使用 top,按 P 键按 CPU 使用率排序,找到目标进程。
  2. 如何监控磁盘空间不足?

    • 使用 df -h,查看磁盘使用百分比。
  3. 如何监控网络连接状态?

    • 使用 ss -tunapnetstat -tunap,查看网络连接和进程信息。

参考文档


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值