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

相关推荐

  • Ubuntu如何释放更多磁盘空间?

    在Linux系统中设置强密码是保护账户安全的核心措施,以下为详细操作指南及最佳实践,遵循Linux官方文档及安全标准(如NIST SP 800-63B),确保操作的专业性与可靠性:基础密码设置方法当前用户修改自身密码passwd系统提示输入当前密码(验证身份)输入新密码(需输入两次确认)密码字符默认不显示(安全……

    2025年6月15日
    17000
  • Linux下如何查看PHP版本信息?

    在Linux系统中查询PHP版本信息是日常开发和服务器维护中的常见需求,根据PHP的安装方式(如源码编译、包管理器安装、多版本共存等)和运行环境(CLI模式、Web服务器模式),有多种查询方法,以下是详细的操作步骤和适用场景分析,帮助用户准确获取PHP版本信息,命令行直接查询(CLI模式)PHP命令行接口(CL……

    2025年10月1日
    11200
  • Linux如何查看电脑当前开放的端口是多少?

    在Linux系统中,端口是网络通信的重要标识,每个端口对应一个特定的服务或进程,查看端口状态(如是否监听、被占用、所属进程等)是系统管理和网络故障排查的常见需求,本文将详细介绍Linux下查看端口的多种方法,包括常用命令的参数、示例及适用场景,帮助用户灵活应对不同场景下的端口查询需求,端口的基本概念端口是TCP……

    2025年9月29日
    14500
  • Linux系统如何打开命令窗口?

    Linux 作为一款广泛使用的操作系统,其命令窗口(也称为终端或 Shell)是用户与系统交互的核心界面,通过它可以高效执行系统管理、文件操作、程序编译等任务,不同 Linux 发行版及桌面环境下,打开命令窗口的方法略有差异,以下将详细介绍多种常用场景下的操作步骤,帮助用户快速掌握命令窗口的开启方式,图形界面下……

    2025年9月8日
    15600
  • linux如何备份oracle数据库

    在Linux环境下对Oracle数据库进行备份是保障数据安全、应对系统故障或人为误操作的关键措施,Oracle数据库备份主要分为物理备份和逻辑备份两大类,物理备份直接复制数据库文件(如数据文件、控制文件、日志文件等),逻辑备份则通过导出数据库对象(如表、存储过程等)的SQL语句或二进制文件实现,结合Linux系……

    2025年9月29日
    16200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信