如何查看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系统中,由于长期运行、意外断电或硬件老化,硬盘可能出现文件系统错误、坏道、分区表损坏等问题,本文将详细介绍Linux系统下硬盘修复的常见场景、操作步骤及注意事项,帮助用户高效解决硬盘故障,保障数据安全,常见……

    2025年9月10日
    13500
  • Linux如何修改PATH变量?

    在Linux系统中,PATH环境变量是一个非常重要的配置,它定义了系统在执行命令时会搜索哪些目录,当用户输入一个命令时,Linux会按照PATH变量中列出的目录顺序依次查找对应的可执行文件,如果需要添加自定义的可执行程序路径(如自行编译的软件、脚本等),就需要修改PATH变量,本文将详细介绍Linux中修改PA……

    2025年9月25日
    12700
  • Linux系统如何连接并操作FTP服务器?

    在Linux系统中,FTP(File Transfer Protocol,文件传输协议)是一种常用的文件传输方式,主要用于在客户端和服务器之间上传、下载文件,尽管现代场景中更推荐使用SFTP(基于SSH的安全文件传输)或FTPS(FTP over SSL/TLS)等更安全的协议,但FTP因其简单性和兼容性仍被部……

    2025年9月9日
    16400
  • Linux如何查看端口号对应的进程?

    在Linux系统中,管理和排查网络端口占用问题是日常运维和开发中的常见需求,快速定位端口号对应的进程是解决问题的关键,本文将详细介绍几种常用的Linux命令及其参数,帮助用户高效显示端口号与进程的对应关系,并对比不同工具的适用场景,使用netstat命令显示端口对应进程netstat是Linux系统中传统的网络……

    2025年9月29日
    13300
  • Linux配置保存有哪些实用方法?

    在Linux系统中,配置文件是系统运行的核心,它们定义了用户环境、服务行为、系统参数等关键信息,无论是日常维护还是系统迁移,正确保存和管理配置文件都至关重要,本文将详细介绍Linux配置保存的多种方法,涵盖直接编辑、工具管理、备份策略等场景,帮助用户根据实际需求选择合适的方案,直接编辑配置文件的保存方法Linu……

    2025年9月29日
    13800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信