0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

5个Linux性能监控命令

马哥Linux运维 来源:CSDN技术社区 2025-04-09 10:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

5个Linux性能监控命令

1. vmstat – 报告虚拟内存统计数据

vmstat 命令可打印有关内存、交换、I/O 和CPU活动的详细报告。其中包括已用/可用内存、交换入/出、磁盘块读/写和 CPU 进程/闲置时间等指标。

例子:

vmstat 5

其他有用的 vmstat 选项:

• -a – 显示活动和非活动内存

• -s – 显示事件计数器和内存统计信息

• -S – 以 KB 而不是块为单位输出

• 5 – 每 5 秒刷新一次输出。

上面的示例每 5 秒输出一次内存和 CPU 数据,直到中断为止,这对监控实时系统性能非常有用。

[root@xx web]# vmstat 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b  swpd  free  buff cache  si  so  bi  bo in cs us syidwa st
0 0   0 115732   0 952956  0  0   0   2  2  4 0 0 99 0 0

每一列代表的意思:

procs: 进程统计信息

• r: 运行队列中正在运行的进程数

• b: 等待运行的进程数

memory: 内存统计信息

• swpd: 使用的交换空间大小(单位为KB)

• free: 空闲内存大小(单位为KB)

• buff: 用于缓冲的内存大小(单位为KB)

• cache: 用于缓存的内存大小(单位为KB)

swap: 交换空间统计信息

• si: 从磁盘读取到交换空间的数据大小(单位为KB/s)

• so: 从交换空间写入到磁盘的数据大小(单位为KB/s)

io: I/O 统计信息

• bi: 块设备接收的块数(单位为块/s)

• bo: 块设备发送的块数(单位为块/s)

system: 系统统计信息

• in: 每秒中断的数量

• cs: 每秒上下文切换的数量

cpu: CPU 统计信息

• us: 用户进程使用 CPU 的时间百分比

• sy: 系统进程使用 CPU 的时间百分比

• id: CPU 处于空闲状态的时间百分比

• wa: CPU 正在等待 I/O 完成的时间百分比

• st: 被虚拟化环境(例如虚拟机)偷取的时间百分比

2. iostat – 报告 CPU 和 I/O 统计数据

iostat 命令监控并显示 CPU 利用率和磁盘 I/O 指标。其中包括 CPU 负载、IOPS、读/写吞吐量等。

一些 iostat 选项:

• c – 显示 CPU 使用率信息

• t – 为每份报告打印时间戳

• x – 显示服务时间和等待计数等扩展统计信息

• d – 显示每个磁盘/分区的详细统计信息,而不是合计总数

• p – 显示特定磁盘设备的统计信息

下面每 5 秒钟显示一次 sda 每个设备的详细 I/O 统计信息。

iostat -d -p sda 5

iostat 可帮助分析磁盘子系统的性能,找出硬件瓶颈。

[root@xx web]# iostat
Linux 4.19.188-10.el7.ucloud.x86_64 (10-50-90-250)   01/11/2024   _x86_64_  (2 CPU)

avg-cpu: %user  %nice%system %iowait %steal  %idle
     0.41  0.00  0.36  0.00  0.00  99.23

Device:      tps  kB_read/s  kB_wrtn/s  kB_read  kB_wrtn
vda        0.45     0.10     4.60   433948  19644449

每一列参数代表的意思:

avg-cpu:这一行统计了 CPU 使用情况的平均值。

• %user:用户态进程使用 CPU 的百分比。

• %nice:以较高优先级运行的用户态进程使用 CPU 的百分比(优先级较低的用户态进程)。

• %system:内核进程使用 CPU 的百分比。

• %iowait:CPU 等待 I/O 完成的百分比。

• %steal:当 hypervisor(虚拟化环境中的宿主机)需要让出 CPU 给其他虚拟机时,该 CPU 被偷取的百分比。

• %idle:CPU 空闲时间的百分比。

Device:这一行显示了每个磁盘设备的统计数据。

• tps:每秒传输的 I/O 请求数。这个值反映了磁盘设备的工作负载。

• kB_read/s:每秒从设备读取的数据量,以千字节 (KB) 为单位。

• kB_wrtn/s:每秒写入设备的数据量,以千字节 (KB) 为单位。

• kB_read:从设备读取的总数据量,以千字节 (KB) 为单位。

• kB_wrtn:写入设备的总数据量,以千字节 (KB) 为单位。

3. free – 显示可用和已用内存量

free 命令显示系统中物理内存和交换内存的总量、已用量和空闲量。这将提供可用内存的总体情况。

例子:

free -h

free 命令的一些选项:

• b – 以字节为单位显示输出

• k – 以 KB(而非默认字节)为单位显示输出结果

• m – 以 MB 为单位显示输出,而不是以字节为单位

• h – 以 GB、MB 等人类可读格式打印统计数据,而不是字节。

以人类可读格式(GB、MB 等)打印内存统计数据。当你想快速了解内存容量时,它非常有用。

4. df – 报告文件系统磁盘空间使用情况

df 命令显示文件系统的磁盘空间使用情况。它会显示文件系统名称、总/已用/可用空间和容量。

常用的参数选项:

• -h :以人类可读的格式显示磁盘使用情况,以 K、M、G 等单位表示文件系统的大小和可用空间。

• -T :显示文件系统类型。

• -i :显示 inode 的使用情况而不是磁盘空间。

• -a :显示所有文件系统,包括系统特有的文件系统。

• -x type :排除指定类型的文件系统。例如,-x tmpfs 将排除 tmpfs 类型的文件系统。

• -hT :同时使用 -h 和 -T 参数,以人类可读的格式显示文件系统以及各个文件系统类型。

• –total :在最后一行显示所有文件系统的总空间和已使用空间。

• –help :显示 df 命令的帮助信息,包括所有可用的参数选项和用法示例。

例子:

df-h

上述命令将以人类可读的格式打印磁盘利用率。也可以不带参数运行该命令,以块大小获得相同的数据。

[root@xx web]#df-T
Filesystem   Type   1K-blocks  Used Available Use% Mounted on
devtmpfs    devtmpfs  891628    0  891628  0% /dev
tmpfs     tmpfs    904464    0  904464  0% /dev/shm
tmpfs     tmpfs    904464 107052  797412 12% /run
tmpfs     tmpfs    904464    0  904464  0% /sys/fs/cgroup
/dev/vda1   xfs    62903276 4308344 58594932  7% /
tmpfs     tmpfs    180896    0  180896  0% /run/user/0

各列的含义:

• Filesystem:文件系统的名称或挂载点名称。

• Type:文件系统的类型。

• 1K-blocks:文件系统的总块数(以千字节为单位)。

• Used:已使用的块数(以千字节为单位)。

• Available:可用的块数(以千字节为单位)。

• Use%:已使用空间占总空间的百分比。

• Mounted on:文件系统的挂载点。

5. sar – 收集和报告系统活动

sar 工具收集并记录一段时间内 CPU、内存、I/O、网络等系统活动信息。通过分析这些数据,可以发现性能问题。

语法:

sar [options] [interval [count]]

其中,[options] 是可选的命令选项,[interval] 是数据收集的时间间隔(以秒为单位),[count] 是指定收集的次数。

一些常用的 sar 参数选项和示例:

• -u:显示 CPU 使用率统计数据。
示例:sar -u

• -r:显示内存使用情况统计数据。
示例:sar -r

• -b:显示磁盘 I/O 统计数据。
示例:sar -b

• -n DEV:显示网络接口的统计数据,其中 DEV 是网络接口的名称,如 eth0。
示例:sar -n DEV

• -q:显示运行队列和负载平均值的统计数据。
示例:sar -q

• -A:显示所有可用的统计数据。
示例:sar -A

• -s HHSS:从指定的起始时间开始显示统计数据。
示例:sar -s 1000

• -e HHSS:显示到指定的结束时间的统计数据。
示例:sar -e 1200

• -f FILE:指定 sar 数据文件的路径,用于读取预先记录的数据。在 Linux 系统上,默认情况下,sar 数据文件存储在 /var/log/sa/ 目录下,文件名以 sa 开头,后面跟着日期的数字表示,如 sa01、sa02 等。每个数据文件包含了特定日期的系统活动报告数据。
示例:sar -f /var/log/sa/sa01

• -o OUTPUT_FILE:将统计数据写入指定的输出文件中,以便后续使用。
示例:sar -o output.txt

例子:

sar -u 5 60

每 5 秒采样一次 CPU 使用情况,持续 60 次。

sar 提供了实时工具无法提供的详细历史系统性能数据。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    11224

    浏览量

    223105
  • Linux
    +关注

    关注

    88

    文章

    11635

    浏览量

    218104
  • 命令
    +关注

    关注

    5

    文章

    746

    浏览量

    23459

原文标题:提升Linux系统性能的5大必备监控命令,让你轻松掌控服务器状态

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Linux中grep命令的12实际例子

    Linux中grep命令的12实际例子
    发表于 02-08 09:38 1016次阅读

    Linux目录的创建与删除命令

    Linux目录的创建与删除命令 Linux目录的创建与删除命令  mkdir命令  功能:创建一
    发表于 01-18 12:46 1501次阅读

    Linux与用户有关的命令

    Linux与用户有关的命令 Linux与用户有关的命令  passwd命令  出于系统安全考虑,Lin
    发表于 01-18 12:46 890次阅读

    Linux服务器性能测试及分析命令大全

    Linux服务器性能测试及分析命令大全
    发表于 09-05 15:42 12次下载
    <b class='flag-5'>Linux</b>服务器<b class='flag-5'>性能</b>测试及分析<b class='flag-5'>命令</b>大全

    你不可不知的11Linux命令

    Linux命令行吸引了大多数Linux爱好者。一正常的Linux用户一般掌握大约50-60
    发表于 11-09 12:14 2062次阅读
    你不可不知的11<b class='flag-5'>个</b><b class='flag-5'>Linux</b><b class='flag-5'>命令</b>

    解析对Linux系统管理员有用的并且最常用的20命令行系统监视工具

    Linux/Unix 系统管理员非常有用的并且最常用的20命令行系统监视工具。这些命令可以在所有版本的 Linux 下使用去
    的头像 发表于 01-16 09:03 6066次阅读
    解析对<b class='flag-5'>Linux</b>系统管理员有用的并且最常用的20<b class='flag-5'>个</b><b class='flag-5'>命令</b>行系统监视工具

    Linux中的35find命令用法

    Linux查找命令Linux系统中最重要和最常用的命令之一。查找用于根据与参数匹配的文件指定的条件来搜索和查找文件和目录列表的命令
    的头像 发表于 02-02 16:53 4276次阅读
    <b class='flag-5'>Linux</b>中的35<b class='flag-5'>个</b>find<b class='flag-5'>命令</b>用法

    Linux查看资源使用情况和性能调优常用的命令

    目录 前言 top命令 htop命令 ps命令 free命令 vmstat命令 iosat命令
    的头像 发表于 11-12 17:54 4851次阅读

    10LINUX命令 超好用

    下面可能是你不曾用过后十Linux命令。相当的有用。 1)pgrep pgrep名字前有p,我们可以猜到这和进程相关,又是grep,当然这是进程相关的grep
    的头像 发表于 11-17 18:19 2435次阅读

    6有趣的Linux命令案例讲解

    6有趣的Linux命令案例讲解
    发表于 08-11 17:49 14次下载

    Linux系统常用的性能监控命令——vmstat命令

    vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写, 是实时系统监控工具。该命令通过使用knlist子程序和/dev/kmen伪设备驱动器访问这些数据,输出信息直接打印在屏幕。
    发表于 10-01 12:39 1293次阅读

    Linux操作必备150命令

    Linux 命令是对 Linux 系统进行管理的命令。对于 Linux 系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等
    发表于 11-12 09:19 694次阅读

    常用的linux命令有哪些类型

    很多流行的Linux发行版都支持ss以及很多监控工具使用ss命令.熟悉这个工具有助于您更好的发现与解决系统性能问题.本人强烈建议使用ss命令
    发表于 08-04 10:51 623次阅读

    常用的linux系统性能监控命令

    /proc/cpuinfo |grep “cores”|uniqcpu cores : 2 cpu的性能评估 利用vmstat命令监控cpu vmstat 2 10 (每2秒监控一次
    的头像 发表于 10-09 15:35 1432次阅读
    常用的<b class='flag-5'>linux</b>系统<b class='flag-5'>性能</b><b class='flag-5'>监控</b><b class='flag-5'>命令</b>

    linux中top命令详解

    Linux系统中的top命令是一非常强大和常用的命令,用于实时监控和管理系统的运行状态。它能够显示系统的整体
    的头像 发表于 11-17 10:25 3865次阅读