Linux系统中如何具体查看CPU及内存使用情况的方法呢?

在Linux系统中,监控CPU和内存使用情况是系统管理和性能优化的基础操作,通过命令行工具可以快速获取系统资源状态,帮助定位性能瓶颈,以下是常用的监控方法及工具详解,涵盖实时查看、历史数据统计及关键指标解读。

linux如何查看cpu内存使用情况

CPU使用情况监控工具

CPU使用率是衡量系统负载的核心指标,主要包括用户态(%us)、内核态(%sy)、空闲(%id)、等待I/O(%wa)等维度,不同工具可满足不同场景需求。

top:动态实时监控

top是最基础的进程监控工具,默认按CPU使用率排序,动态刷新进程资源占用情况。

  • 基本用法:直接输入top,默认每3秒刷新一次。
  • 常用选项
    • -d 秒数:设置刷新间隔,如top -d 5每5秒刷新;
    • -p PID:监控指定进程,如top -p 1234
    • -c:显示完整命令行而非仅进程名。
  • 关键输出字段
    • %CPU:进程CPU使用率(单核);
    • %MEM:进程内存使用率;
    • us(用户态)、sy(内核态)、id(空闲)、wa(I/O等待):整体CPU状态,若us+sy超过80%且id持续较低,说明CPU繁忙。
  • 交互操作:按P按CPU排序、M按内存排序、q退出。

htop:增强版实时监控(推荐)

htoptop的升级版,界面更直观(彩色区分、进程树),支持鼠标操作,需安装(Ubuntu/Debian:apt install htop;CentOS/RHEL:yum install htop)。

  • 核心优势
    • 可横向滚动查看完整命令行;
    • 支持快捷键操作(如F2设置、F9结束进程);
    • 实时显示CPU核心使用率(多核CPU下更清晰)。

mpstat:多CPU核使用率统计

mpstat属于sysstat工具包,可查看每个CPU核心的详细使用情况,适合多核服务器。

  • 基本用法mpstat -P ALL 1(每秒刷新,显示所有CPU核状态)。
  • 关键输出
    • %usr:用户态CPU使用率;
    • %sys:内核态CPU使用率;
    • %idle:空闲率,若持续低于10%,说明CPU过载。

sar:历史数据统计

sar(System Activity Reporter)可记录系统历史资源使用情况,需安装sysstat包。

linux如何查看cpu内存使用情况

  • 查看CPU历史数据sar -u -s 09:00:00 -e 18:00:00(查看当天9点到18点的CPU使用率)。

内存使用情况监控工具

Linux内存管理机制中,buffers(缓冲区)和cached(缓存)可被程序复用,实际可用内存”需结合多个指标判断。

free:简洁内存概览

free是最直观的内存查看工具,默认以KB为单位,推荐使用-h(人性化单位)或-m(MB)。

  • 基本用法free -h
  • 关键输出字段
    • total:总内存;
    • used:已用内存(包含应用+缓存+缓冲区);
    • free:完全空闲内存;
    • available:可用内存(free+buffers+cached,可立即分配给新进程),这是判断内存是否充足的核心指标
    • buff/cache:缓冲区+缓存(可回收,非真正“占用”)。
  • 示例解读:若available持续低于总内存的10%,且swap被频繁使用,说明内存不足。

/proc/meminfo:原始内存数据

/proc/meminfo是内核内存管理的原始接口,free命令的数据来源,适合查看详细参数。

  • 关键字段
    • MemTotal:总内存;
    • MemFree:完全空闲内存;
    • Buffers:块设备缓冲区;
    • Cached:页缓存;
    • SwapTotal/SwapFree:交换区总大小和剩余大小。

vmstat:虚拟内存统计(含CPU+内存)

vmstat可同时输出CPU、内存、I/O等状态,适合快速综合判断。

  • 基本用法vmstat 1(每秒刷新)。
  • 关键输出
    • si(swap in):每秒从交换区调入内存的数据量(KB),若持续大于0,说明内存不足;
    • so(swap out):每秒写入交换区的数据量;
    • buff:缓冲区大小;
    • cache:缓存大小。

smem:进程内存精准统计

smem可计算进程的实际内存占用(区分PSS/USS,避免重复计算共享内存),适合排查内存泄漏。

linux如何查看cpu内存使用情况

  • 基本用法smem -p -c "pid pss rss"(按进程显示PID、PSS(实际共享内存)、RSS(物理内存))。

常用命令对比速查

以下为CPU和内存监控工具的核心对比,方便快速选择:

命令 主要功能 常用选项 输出重点
top 实时进程资源监控 -d(刷新间隔)、-p(PID) %CPU、%MEM、负载平均值
htop 增强版实时监控 无(需安装) 多核CPU使用率、进程树、彩色界面
mpstat 多CPU核使用率统计 -P ALL(所有核) 各核%usr、%sys、%idle
free 内存使用概览 -h(人性化单位)、-m(MB) available、buff/cache、swap
vmstat CPU+内存+I/O综合统计 1(每秒刷新) si、so、buff、cache、CPU空闲率
smem 进程内存精准分析 -p(进程)、-c(字段) PSS、RSS、进程内存占比

FAQs

Q1:为什么free -h显示的“可用内存”很少,但系统运行并不卡顿?
A:Linux会主动将空闲内存用于buffers(缓冲区)和cached(缓存),以提升文件读写性能,这两部分内存可被程序立即回收,实际可用内存”=free+buffers+cached(即free命令中的available字段),若available充足,即使free值低,系统也不会卡顿;反之,若available持续低于总内存的10%,且swap频繁使用,才说明内存不足。

Q2:tophtop有什么区别?如何选择?
A:top是Linux基础工具,界面简洁,仅支持键盘操作,默认按CPU排序,功能相对基础;htop是增强版,支持彩色显示、进程树、鼠标操作,可实时调整排序/过滤,功能更丰富,选择时,若只需快速查看资源占用,用top;若需详细监控(如多核CPU分析、进程树查看)或交互操作,优先用htop(需先安装,Ubuntu/Debian通过apt install htop,CentOS/RHEL通过yum install htop)。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/28410.html

(0)
酷番叔酷番叔
上一篇 2025年9月22日 17:07
下一篇 2025年9月22日 17:46

相关推荐

  • Linux软件装在哪?秒查所有安装位置

    通过包管理器查询(推荐)适用于通过 apt、yum、dpkg、rpm 等安装的软件,Debian/Ubuntu (APT/Dpkg)查询已安装软件的所有文件路径:dpkg -L 软件名# 示例:dpkg -L nginx查找软件包安装的二进制文件位置:dpkg -S 软件名# 示例:dpkg -S nginxR……

    2025年7月5日
    5000
  • WinPE环境下如何安装Linux?详细步骤与方法指南

    在Windows PE(WinPE)环境下安装Linux系统,通常用于系统崩溃无法进入Windows、需要全新安装双系统,或在无操作系统的裸机上部署Linux,整个过程涉及启动盘准备、磁盘分区、系统安装及引导配置等关键步骤,需谨慎操作以避免数据丢失,以下是详细流程及注意事项,准备工作在开始安装前,需准备好以下工……

    2025年10月8日
    1100
  • 如何快速创建1MB空白映像文件

    创建1MB空白映像文件,通常使用dd命令或磁盘工具生成指定大小的空二进制文件,该文件常用于模拟小容量存储设备、进行磁盘操作测试或作为占位符文件。

    2025年7月25日
    4300
  • 如何轻松用U盘安装CDLinux?完整教程在此

    准备工作系统镜像下载访问官方源或可信镜像站(如 SourceForge CDLinux页面)下载ISO文件,推荐版本:CDLinux-0.9.8.iso(社区维护的最新稳定版),制作启动盘工具选择:Rufus(Windows)、BalenaEtcher(跨平台)或dd命令(Linux),步骤:插入U盘(≥1GB……

    2025年7月18日
    3800
  • 在Linux操作系统中如何查看系统内imq队列的数量统计信息?

    在Linux系统中,IMQ(Intermediate Queue,中间队列)是一种用于流量控制的内核机制,它通过虚拟网络接口将进入或离开网络栈的数据包统一纳入队列管理,从而实现更灵活的流量整形、限速和QoS(服务质量)策略,查看IMQ数量是网络管理和性能优化的基础操作,本文将详细介绍多种查看方法、适用场景及操作……

    2025年9月20日
    2500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信