linux查看系统资源占用的命令(Linux资源占用查询)


Linux系统中提供了丰富的命令用于监控系统资源占用情况,这些工具通过不同的维度和颗粒度帮助管理员实时掌握系统运行状态。从基础的top到专业的iostat,从单节点监控到分布式追踪,这些命令构建了完整的资源观测体系。它们不仅支持交互式实时查看,还能通过参数配置实现数据采集、日志记录和历史分析。本文将从八个核心维度解析这些命令的功能特性、适用场景及数据关联性,并通过对比表格揭示不同工具的差异化价值。
一、CPU资源监控
CPU监控是系统健康检查的首要环节,主要涉及用户态、内核态、空闲进程等核心指标。
命令 | 核心功能 | 输出特点 | 适用场景 |
---|---|---|---|
top | 动态显示进程CPU占用排序 | 实时刷新,包含进程ID、内存占比 | 快速定位高消耗进程 |
mpstat | 多核CPU利用率统计 | 按CPU核心拆分用户/系统/空闲时间 | 分析多核负载均衡 |
pidstat | 进程级CPU统计 | 累计CPU使用时长及百分比 | 追踪长期运行进程的资源趋势 |
top命令通过Shift+P可切换排序方式,而mpstat的-P ALL参数能显示每个核心的独立数据。对于持续型任务,建议使用pidstat -u -p [PID]记录特定进程的CPU消耗轨迹。
二、内存与交换分区监控
内存监控需关注物理内存、缓存/缓冲区、交换分区三个层面的使用情况。
命令 | 数据维度 | 特殊指标 | 刷新频率建议 |
---|---|---|---|
free | 总量/已用/空闲/缓冲区 | Swap使用量 | 静态查看(配合-s参数) |
vmstat | 进程状态 | swpd(交换页) | 每秒刷新(-1) |
smemreport | 进程内存映射 | USS/PSS/RSS | 按需执行 |
当free -m | grep Swap显示交换分区频繁使用时,应结合vmstat观察si/so字段(交换页入/出速率)。对于内存泄漏排查,可启用/proc/[PID]/smaps接口获取进程的物理内存映射详情。
三、磁盘I/O监控
磁盘性能直接影响系统响应速度,需同时监控读写速率和I/O等待时间。
工具类型 | 典型命令 | 关键指标 | 优化方向 |
---|---|---|---|
实时监控 | iotop | I/O占比、延迟 | 识别慢速设备 |
历史分析 | iostat | tps(每秒事务)、await | 调整队列深度 |
文件系统 | df/du | inode使用率 | 预防目录扩容 |
使用iostat -x 1可获取扩展的磁盘性能数据,其中%util接近100%时表明设备过载。对于NFS挂载点,建议通过nfsstat命令监控客户端的RPC回调延迟。
四、网络流量监控
网络监控需要同时关注带宽利用率、连接状态和协议分布。
命令层级 | 基础命令 | 增强工具 | 数据特征 |
---|---|---|---|
接口层 | ifconfig/ip | iftop | 实时流量方向 |
传输层 | netstat | ss | TCP连接状态 |
应用层 | nload | bmon | 带宽可视化图表 |
在排查网络丢包时,可组合使用dmesg | grep network查看驱动日志,同时通过ethtool [interface]检查链路质量。对于容器化环境,推荐使用tc命令进行流量控制策略验证。
五、进程与线程管理
进程监控需要覆盖父进程关系、资源继承和线程状态。
监控粒度 | 常用命令 | 特色功能 | 限制条件 |
---|---|---|---|
全局视图 | pstree | 树状进程关系 | 无法显示动态数据 |
线程级别 | htop (H模式) | 显示线程归属 | 依赖ncurses库 |
调试分析 | gdb | 信号跟踪 | 需编译符号支持 |
使用ps -eLf可同时显示进程和线程信息,配合grep [keyword]快速定位异常线程。对于僵尸进程清理,可通过ps aux | awk '/Z/'批量识别。
六、中断与上下文切换
系统中断和上下文切换频率直接反映硬件驱动和调度器压力。
数据源 | 采集命令 | 关键指标 | 阈值参考 |
---|---|---|---|
/proc/interrupts | cat /proc/interrupts | IRQ号/计数器 | 某中断持续霸榜 |
vmstat输出 | vmstat 1 | cs(上下文切换) | >1000/秒预警 |
perf采样 | perf record -a | 中断栈追踪 | 分析驱动缺陷 |
当发现intr字段异常增高时,应优先检查dmesg | tail的最新日志。对于高频上下文切换,可尝试调整/proc/sys/kernel/num_threads参数优化调度策略。
七、温度与功耗监控
硬件状态监控依赖特定传感器接口,需注意平台差异性。
监控对象 | 命令集 | 数据来源 | 局限性 |
---|---|---|---|
CPU温度 | sensors | lm-sensors框架 | 需内核模块支持 |
主板电压 | dmidecode | DMI表项 | 仅静态数据 |
整机功耗 | powerstat | RAPL接口 | Intel专用 |
在无传感器支持的系统上,可通过cat /sys/class/powercap/intel-rapl/intel-rapl0/energy_uj读取能耗数据。对于ARM设备,建议使用/sys/devices/system/cpu/cpu0/cpufreq/energy_uJ接口。





