如何查看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:显示完整命令行而非进程名。

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

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核心(包括all0,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:使用tophtop直接监控,或通过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仅指完全未被使用的内存。availablefree更准确反映可用内存,若available持续接近0,说明内存紧张。

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

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

相关推荐

  • Linux如何精确定位硬盘位置与方法?

    在 Linux 系统中,定位硬盘信息是系统管理、故障排查或存储配置的基础操作,无论是识别物理硬盘的型号、容量,还是查看分区状态、挂载点,都需要通过命令行工具结合系统文件来实现,以下从不同维度详细说明如何定位硬盘信息,通过设备文件定位物理硬盘Linux 系统将存储设备抽象为设备文件,存放在 /dev 目录下,不同……

    2025年9月23日
    14500
  • Linux下如何制作U盘启动盘?

    在Linux系统下制作U盘启动盘是许多用户在安装操作系统、系统维护或数据恢复时需要掌握的技能,无论是为了安装Ubuntu、Fedora等Linux发行版,还是制作Windows启动盘进行系统修复,正确的方法都能确保启动盘的可用性和稳定性,本文将详细介绍几种主流的制作方法,包括命令行工具、图形化工具及多系统启动盘……

    2025年10月3日
    12800
  • Linux下如何切换输入法?具体操作步骤是什么?

    在Linux系统中,输入法切换是日常使用中频繁操作的功能,尤其对于中文用户而言,Linux下的输入法管理主要依赖于输入法框架(如IBus、Fcitx、Fcitx5等),不同框架的切换方式略有差异,但整体流程相似,本文将详细介绍Linux下切换输入法的多种方法,包括图形化界面设置、快捷键操作、命令行工具以及特殊场……

    2025年9月18日
    17300
  • Linux系统如何安装KDE桌面环境?具体步骤是什么?

    KDE是Linux平台上功能丰富、高度可定制的桌面环境之一,以其美观的界面、强大的扩展性和丰富的内置应用深受用户喜爱,本文将以主流Linux发行版为例,详细介绍KDE桌面环境的安装步骤及注意事项,帮助用户快速搭建个性化工作环境,安装前准备在安装KDE前,建议先完成以下准备工作:更新系统:确保系统软件包为最新版本……

    2025年9月22日
    13600
  • Linux系统如何调用C语言程序?

    在Linux操作系统中,C语言作为系统级开发的核心语言,其调用与执行过程涉及环境搭建、代码编写、编译链接及系统交互等多个环节,本文将详细说明Linux环境下C语言的完整调用流程,从基础环境准备到高级系统调用实现,帮助读者全面掌握Linux与C语言的协同工作方式,需确保系统已安装C语言编译工具链,Linux主流发……

    2025年9月19日
    14900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信