如何查看Linux系统CPU、内存、磁盘等资源使用情况?

在Linux系统中,监控和管理系统资源是运维和开发工作的核心任务之一,通过合理使用命令行工具,可以实时掌握CPU、内存、磁盘、网络及进程等资源的使用情况,及时发现性能瓶颈或异常问题,以下是查看Linux各类资源的详细方法和常用命令。

如何查看linux资源

CPU资源查看

CPU是系统的核心资源,查看CPU使用情况需关注整体负载、各核心利用率、进程占用等维度。

top/htop:动态实时监控

top是Linux系统中最常用的动态监控工具,默认按CPU使用率排序,每3秒刷新一次,执行top后,界面分为两部分:

  • 顶部统计区:显示系统运行时间、登录用户数、系统负载(1分钟/5分钟/15分钟平均)、任务总数(运行中/睡眠/停止/僵死)、CPU使用率(us用户空间/内核空间/sy/nice/空闲/id/等待等)、内存使用情况。
  • 进程列表区:显示各进程的PID、用户、优先级、Nice值、虚拟内存(VIRT)、物理内存(RES)、共享内存(SHR)、CPU及内存占用率、运行时间等。

常用参数:

  • -d:刷新间隔(如top -d 5每5秒刷新);
  • -p:监控指定进程(如top -p 1234);
  • -c:显示完整命令行而非进程名。

htop是top的增强版(需安装),支持鼠标操作、进程树视图、颜色区分,更直观便捷,推荐优先使用。

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

vmstat报告进程、内存、I/O、CPU的整体情况,适合快速查看系统状态。

vmstat [刷新间隔 [采样次数]]

关键列说明:

  • r:运行队列进程数(持续大于CPU核心数表示CPU不足);
  • us:用户空间CPU占用率;
  • sy:内核空间CPU占用率;
  • id:CPU空闲率;
  • wa:等待I/O的CPU时间(过高说明磁盘瓶颈)。

vmstat 2 3表示每2秒采样一次,共3次,输出3行数据(第一行是平均值)。

mpstat:多CPU核心监控

mpstat来自sysstat包,可查看每个CPU核心的详细使用情况。

mpstat [选项] [刷新间隔 [采样次数]]

常用参数:

  • -P ALL:显示所有CPU核心(包括all和0,1,2...);
  • -u:仅显示CPU使用率(默认)。

mpstat -P ALL 1每秒显示各核心的us/sy/id/wa等指标。

uptime:系统负载查看

uptime快速显示系统启动时间和平均负载(1分钟/5分钟/15分钟),负载值表示活跃进程数,若超过CPU核心数则可能过载。

如何查看linux资源

内存资源查看

内存不足会导致系统卡顿,需关注已用、空闲、缓存、交换分区等指标。

free:内存使用概览

free是最直接的内存查看命令,-h参数以人类可读格式(KB/MB/GB)显示。

free -h

关键列说明:

  • total:总内存;
  • used:已用内存(包括应用程序+缓存);
  • free:完全空闲内存;
  • buff/cache:缓冲区+缓存(可被回收释放);
  • available:真正可用的内存(≈free+buff/cache,推荐关注此值而非free);
  • Swap:交换分区使用情况(频繁使用Swap说明物理内存不足)。

vmstat:内存与交换分区

vmstat的内存相关列:

  • swpd:已使用的交换分区大小;
  • free:空闲内存;
  • buff:缓冲区大小;
  • cache:缓存大小;
  • si:从交换区换入内存的数据量(KB/s);
  • so:换出到交换区的数据量(KB/s),若si/so持续大于0,说明内存紧张。

磁盘资源查看

磁盘关注使用率、I/O性能、inode使用情况,避免空间不足或I/O瓶颈。

df:磁盘分区使用率

df查看各文件系统的磁盘使用情况,-h以人类可读格式显示,-T显示文件系统类型。

df -hT

关键列:

  • Filesystem:分区路径(如/dev/sda1);
  • Use%:使用率(超过80%需警惕);
  • Mounted on:挂载点(如、/home)。

du:目录/文件大小统计

du统计指定目录或文件的大小,-sh显示总大小(-s汇总,-h人类可读),--max-depth=1限制目录深度。

du -sh /var/log  # 查看/var/log目录总大小
du -sh /* --max-depth=1  # 查看根目录下一级子目录大小

iostat:磁盘I/O性能监控

iostat(需安装sysstat)查看磁盘设备的读写请求、吞吐量、延迟等,-d显示磁盘设备,-x显示扩展指标。

iostat -dx 1

关键指标:

  • %util:磁盘使用率(超过70%说明I/O瓶颈);
  • await:平均I/O等待时间(过高说明磁盘慢);
  • r/s/w/s:每秒读写次数;
  • rkB/s/wkB/s:每秒读写数据量(KB)。

网络资源查看

网络关注带宽使用、连接状态、端口占用等,排查网络拥堵或异常连接。

如何查看linux资源

ip/ifconfig:网络接口状态

ip(现代Linux推荐)或ifconfig查看网络接口的IP地址、MAC地址、接收/发送数据包数、错误数等。

ip a  # 显示所有网络接口信息
ip link show eth0  # 查看eth0接口详细状态

netstat/ss:网络连接与端口监控

netstat(传统工具)和ss(推荐,更快)查看TCP/UDP连接、监听端口、进程PID等。

ss -tuln  # 显示所有监听端口(-t TCP,-u UDP,-n 数字形式,-l 仅监听)
ss -tulpn | grep :80  # 查看80端口占用情况及进程PID
netstat -an | grep ESTABLISHED  # 查看已建立的TCP连接

nload/iftop:带宽实时监控

nload实时显示网络接口的上下行带宽,iftop按流量排序显示各主机的连接情况(需安装)。

进程资源查看

进程是资源占用的主体,需关注CPU、内存占用高的进程,及时终止异常进程。

ps:静态进程列表

ps aux查看所有进程的详细信息,-ef以BSD格式显示,结合grep过滤进程。

ps aux | grep nginx  # 查找nginx相关进程
ps -eo pid,ppid,%cpu,%mem,cmd --sort=-%cpu  # 按CPU占用率排序

top/htop:动态进程监控

top/htop可直接查看各进程的CPU、内存实时占用,支持排序(P按CPU,M按内存)、杀死进程(htop中按F9)。

常用资源查看命令总结

命令 主要用途 常用参数 说明
top 动态监控进程/CPU/内存 -d刷新间隔,-p指定进程 默认按CPU排序,支持交互操作
free 内存使用情况 -h人类可读,-m以MB为单位 关注available而非free
df 磁盘分区使用率 -h人类可读,-T显示文件系统类型 检查分区空间是否不足
iostat 磁盘I/O性能 -d磁盘设备,-x扩展指标 %util过高说明I/O瓶颈
ss 网络连接与端口 -tuln监听端口,-p显示进程PID 替代netstat,性能更优
ps 静态进程列表 aux所有进程,--sort排序 结合grep过滤特定进程

相关问答FAQs

Q1:如何快速找到占用CPU最高的进程?

A:使用top或htop直接监控,或通过ps命令排序:

# 方法1:top交互操作(按P按CPU排序)
top
# 方法2:ps命令一次性输出(按CPU降序)
ps aux --sort=-%cpu | head -n 10  # 显示前10个高CPU进程

Q2:为什么free命令显示的可用内存(available)比完全空闲内存(free)少?

A:Linux内核会主动将空闲内存用作buff/cache(缓冲区+缓存),以提高文件读写性能。available表示“真正可被应用程序立即使用的内存”,它等于free + buff/cache中可回收的部分,而free仅指完全未被使用的内存。available比free更准确反映可用内存,若available持续接近0,说明内存紧张。

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

赞 (0)
酷番叔酷番叔
上一篇 2025年9月18日 14:02
下一篇 2025年9月18日 14:16

相关推荐

  • Linux如何制作u盘启动盘工具?详细步骤和方法有哪些?

    制作Linux系统U盘启动盘是许多用户在安装系统、进行系统救援或部署环境时的常见需求,通过正确的工具和方法,可以轻松完成启动盘的制作,以下是详细的操作步骤和工具介绍,涵盖命令行和图形界面两种主流方式,帮助不同用户群体高效完成任务,准备工作在开始制作前,需确保以下物品准备就绪:U盘:建议容量8GB以上(根据系统镜……

    2025年9月19日
    23800
  • Linux如何安装JavaScript运行环境?

    在Linux系统中安装JavaScript并非直接安装语言本身,而是为其搭建运行环境,JavaScript作为一种脚本语言,需要在特定的运行时环境中执行,而目前最主流的JavaScript运行时是Node.js,Linux下“安装JavaScript”通常指安装Node.js及其包管理器npm(Node Pac……

    2025年8月28日
    18700
  • GitHub访问太慢怎么办?,ChatGPT真能提升编程效率?,哪款工具能30秒加速GitHub?

    需简明扼要,突出核心内容,30-80字间,直接呈现关键信息,无需额外说明。

    2025年7月2日
    21300
  • Linux环境变量如何设置?操作步骤与方法详解

    在Linux系统中,环境变量是操作系统和用户交互的重要桥梁,它们存储了系统运行所需的配置信息,如可执行文件搜索路径(PATH)、默认编辑器(EDITOR)、用户家目录(HOME)等,正确设置环境变量不仅能提升操作效率,还能确保程序正常运行,本文将详细介绍Linux环境变量的设置方法、作用范围及注意事项,环境变量……

    2025年8月27日
    24300
  • 理解.a文件必知什么?

    .a是静态链接库(Archive Library)的标准扩展名,由多个.o(目标文件)打包而成,与Windows的.dll或.so动态库不同,静态库会在编译时直接嵌入到最终可执行文件中,无法像普通文件双击打开,需使用专业工具操作,操作.a文件的三种核心场景1️⃣ 查看库中包含的目标文件ar -t 文件名.a示例……

    2025年7月8日
    32300

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信