如何查看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)
酷番叔酷番叔
上一篇 1小时前
下一篇 1小时前

相关推荐

  • 在Linux系统中如何判断网卡是否处于正常工作状态?

    在Linux系统中,判断网卡是否正常工作需要从多个维度进行综合检查,包括网卡硬件识别、驱动加载状态、链路连通性、网络配置及服务运行状态等,以下是详细的排查步骤和方法,帮助用户全面评估网卡的健康状况,基础识别:确认网卡是否被系统检测到首先需要确认Linux系统是否已识别到网卡硬件,这是判断网卡正常工作的前提,使用……

    2025年8月25日
    1600
  • Linux如何指定IP访问网站?

    指定本地源IP访问网站(多网卡场景)当主机有多个IP(如多个网卡或虚拟IP),需指定某个IP作为请求源时:使用 curl 命令curl –interface <本地IP> http://example.com示例:通过IP 168.1.100 访问百度 curl –interface 192.1……

    2025年7月13日
    3700
  • linux文件权限如何查看文件夹

    命令ls -ld 文件夹名可查看 Linux 中

    2025年8月16日
    1500
  • linux如何转为汉语版

    Linux 系统中,可通过安装中文语言包来实现转为汉语版,具体因

    2025年8月17日
    1700
  • 如何轻松获取临时root权限?

    在Linux系统中,root权限是最高级别的管理员权限,允许用户执行所有系统操作(包括安装软件、修改核心配置等),但不当使用可能导致系统崩溃或安全风险,操作前请务必确认必要性并备份关键数据,以下是进入root权限的详细方法:使用sudo命令适用场景:日常管理任务(需用户已加入sudo组),步骤: sudo &l……

    2025年6月26日
    3400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信