我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux常用命令-性能命令的用法是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux常用命令-性能命令的用法是什么

本篇内容主要讲解“Linux常用命令-性能命令的用法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux常用命令-性能命令的用法是什么”吧!

本文介绍Linux常用性能统计分析命令,监控进程或者系统性能。主要包括CPU(top、mpstat)、内存(vmstat、free)、I/O(iostat)、网络性能(sar)、系统日志信息(demsg)、查看进程状态(pidstat)。下面简要介绍这些命令的使用方法。

mpstat、iostat、pidstat和sr命令需要安装sysstat软件包,sysstat包含了系统性能监测工具,安装方法如下:

yum install sysstat # CentOSapt-get install sysstat # Ubuntu

负载

CPU负载(cpu load)指的是某个时间点进程对系统产生的压力。表示特定时间间隔内运行队列中的平均进程数,如果一个进程满足以下条件则其就会位于运行队列中:

  • 它没有在等待IO操作的结果

  • 它没有主动进入等待状态(也就是没有调用'wait')

  • 没有被停止(例如:等待终止)

单CPU满负荷运行时cpu_load为1,当多个CPU或多核时,相当于大桥有多个车道,满负荷运行时cpu_load值为CPU数或多核数;CPU负载的计算(以单CPU为例),假设一分钟内执行10个任务代表满负荷,当一分钟给出30个任务时,CPU只能处理10个,剩余20个不能处理,cpu_load=3;

Linux常用命令-性能命令的用法是什么

单核CPU

  • cpu load = 1,满负载运行

  • cpu load = 0.5,半负载运行

  • cpu load = 1.7,超负载运行

一般来说,每个CPU内核当前活动进程数不大于3,则系统运行表现良好!

如果多核cpu,需要累加4核cpu<12

uptime

uptime命令显示的平均负载包括了正在或准备运行在CPU上的进程和阻塞在不可中断睡眠状态(uninterruptible) I/O(通常是磁盘I/O)上的进程。

[root@server ~]# uptime 16:54:53 up 29 days, 2:02, 1 user, load average: 0.03, 0.03, 0.00[root@server ~]# cat /proc/loadavg0.03 0.03 0.00 3/166 16903
  • 显示最近1分钟、5分钟、15分钟系统负载的移动平均值,它们共同展现了负载随时间变动的情况。

  • 正在运行的进程数,166:总的进程数,16903:最近运行进程的ID。

ps和top命令

ps命令

ps命令是ProcessStatus的缩写,用于查看系统进程信息

  • -e,-A:显示所有进程,包括其他用户的进程

  • -f:显示完整格式

  • -l:显示长列表

  • -a:所有进程,加上-x参数会显示没有控制终端的进程

  • -u:username,显示指定用户的进程,例如ps -u root

  • -x:显示当前用户在所有终端下的进程

  • -aux:显示所有进程,包括所有用户,分组情况

ps常用用法,通常与grep组合使用

显示dhcpd进程ps ax | grep dhcpd | grep -v grep 

ps-ef
查看全格式的全部进程

ps-aux
显示所有进程

按照CPU或者内存用量来筛选进程:

ps -aux --sort -pcpu# 或ps -aux --sort -pmem
终止进程
# 强制中断正在执行的命令,如,命令长时间没有响应的情况下Ctrl+C组合键# kill命令kill -9 进程ID# killall命令:终止指定名称的所有进程killall -9 dhclient
top命令

ps命令列出的是当前进程的快照,top可用于持续监视系统性能,
动态显示进程信息。

  • -n 获取多次cpu的执行情况,top -n 4:只更新4次

  • -d 间隔时间,top -d 4:每隔4秒更新一次

  • -p 获取指定端口进程的数据,top -p 22

每隔1秒检测指定进程的cpu,检测20次

top -d 1 -n 20
示例

打印指定pid进程的cpu信息,间隔时间为1s,打印20次

Linux常用命令-性能命令的用法是什么

查看进程的pid:

ps -ef | grep systemd

Linux常用命令-性能命令的用法是什么

循环打印

# 打印一次top -p 1 -n 1 | grep systemd | awk '{print $10}'# 循环打印20次for i in {1..20};do top -p 1 -n 1 | grep systemd | awk '{print $10}';sleep 1s;donefor((i=0;i<20;i++));do top -p 1 -n 1 | grep systemd | awk '{print $10}';sleep 1s;done
dmesg | tail

默认显示最新的10个系统信息,可以查看导致性能问题的错误信息。

显示最新的20个系统信息

[root@centos7 ~]# dmesg | tail -20[ 15.356358] RPC: Registered named UNIX socket transport module.[ 15.356360] RPC: Registered udp transport module.[ 15.356361] RPC: Registered tcp transport module.[ 15.356362] RPC: Registered tcp NFSv4.1 backchannel transport module.[ 15.551529] type=1305 audit(1584428235.986:4): audit_pid=1054 old=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:auditd_t:s0 res=1[ 19.223990] NET: Registered protocol family 40[ 23.857606] ip6_tables: (C) 2000-2006 Netfilter Core Team[ 24.130255] Ebtables v2.0 registered[ 24.366128] Netfilter messages via NETLINK v0.30.[ 24.418582] ip_set: protocol 7[ 24.517273] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready[ 24.521156] e1000: ens33 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None[ 24.524658] IPv6: ADDRCONF(NETDEV_UP): ens33: link is not ready[ 24.524669] IPv6: ADDRCONF(NETDEV_CHANGE): ens33: link becomes ready[ 24.528687] IPv6: ADDRCONF(NETDEV_UP): ens34: link is not ready[ 24.532350] e1000: ens34 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None[ 24.535760] IPv6: ADDRCONF(NETDEV_UP): ens34: link is not ready[ 24.574912] IPv6: ADDRCONF(NETDEV_UP): ens34: link is not ready[ 25.391535] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)[ 25.525351] IPv6: ADDRCONF(NETDEV_CHANGE): ens34: link becomes ready[root@centos7 ~]#

显示开始的20个系统信息

[root@centos7 ~]# dmesg | head -20[ 0.000000] Initializing cgroup subsys cpuset[ 0.000000] Initializing cgroup subsys cpu[ 0.000000] Initializing cgroup subsys cpuacct[ 0.000000] Linux version 3.10.0-1062.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Wed Aug 7 18:08:02 UTC 2019[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-1062.el7.x86_64 root=UUID=d7dc0c9e-a27d-4239-aba4-7c2e51d9fc93 ro crashkernel=auto spectre_v2=retpoline rhgb quiet LANG=en_US.UTF-8[ 0.000000] Disabled fast string operations[ 0.000000] e820: BIOS-provided physical RAM map:[ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ebff] usable[ 0.000000] BIOS-e820: [mem 0x000000000009ec00-0x000000000009ffff] reserved[ 0.000000] BIOS-e820: [mem 0x00000000000dc000-0x00000000000fffff] reserved[ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000007fedffff] usable[ 0.000000] BIOS-e820: [mem 0x000000007fee0000-0x000000007fefefff] ACPI data[ 0.000000] BIOS-e820: [mem 0x000000007feff000-0x000000007fefffff] ACPI NVS[ 0.000000] BIOS-e820: [mem 0x000000007ff00000-0x000000007fffffff] usable[ 0.000000] BIOS-e820: [mem 0x00000000f0000000-0x00000000f7ffffff] reserved[ 0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved[ 0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved[ 0.000000] BIOS-e820: [mem 0x00000000fffe0000-0x00000000ffffffff] reserved[ 0.000000] NX (Execute Disable) protection: active[ 0.000000] SMBIOS 2.7 present.[root@centos7 ~]#

vmstat 1

全称 virtual memory stat,逐行输出虚拟内存状态统计信息

[root@centos7 ~]# vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st1 0 0 1424832 2084 195100 0 0 47 4 45 55 0 0 99 1 0

vmstat 1 :每隔一秒打印一次

[root@centos7 ~]#[root@centos7 ~]# vmstat 1 #1s打印一个procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st1 0 0 1424472 2084 195120 0 0 28 2 30 37 0 0 99 1 00 0 0 1424456 2084 195120 0 0 0 0 38 53 0 0 100 0 00 0 0 1424456 2084

参数解释:

  • r: 运行队列中进程数量

  • b: 等待IO的进程数量

  • swpd:使用的虚拟内存

  • free:可用内存

  • buff:用作缓冲的内存大小

  • cache:用作缓存的内存大小

  • us:用户进程执行时间(user time)

  • sy:系统进程执行时间(system time

  • id:空闲时间(包括IO等待时间),中央处理器的空闲时间

  • wa:等待IO时间

free -m

查看linux内存使用情况

[root@centos7 ~]# free -m  total used free shared buff/cache availableMem:  1819  199 1471  9  148 1470Swap:  4095  0 4095
  • Mem:物理内存

  • totel:总的物理内存 单位为:M

  • used:用掉的内存

  • free:空闲的物理内存

  • shared:共享内存

  • buff/cache:缓存内存

mpstat -P ALL 1

mpstat是Multiprocessor Statistics的缩写,实时监控CPU性能。
mpstat -P ALL 1 2:间隔1s打印报告,共打印2个

  • -P ALL:监控所有CPU

  • 间隔时间1s

  • 打印次数2次

[root@centos7 ~]# mpstatLinux 3.10.0-1062.el7.x86_64 (centos7) 03/18/2020 _x86_64_ (4 CPU)04:41:47 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle04:41:47 AM all 0.66 0.00 1.39 2.65 0.00 0.01 0.00 0.00 0.00 95.28[root@centos7 ~]#[root@centos7 ~]# mpstat -P ALL 1Linux 3.10.0-1062.el7.x86_64 (centos7) 03/18/2020 _x86_64_ (4 CPU)04:44:11 AM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle04:44:11 AM all 0.39 0.00 0.82 1.54 0.00 0.01 0.00 0.00 0.00 97.2404:44:11 [root@centos7 ~]#
  • %usr:间隔时间段内,用户态的CPU时间(%),不包含 nice值为负进程

  • %nice:nice值为负进程的CPU时间(%)

  • %sys:核心时间(%)

  • %iowait:硬盘IO等待时间(%)

  • %irq:硬中断时间(%)

  • %soft:软中断时间(%)

  • %steal:虚拟机管理器在服务另一个虚拟处理器时虚拟CPU处在非自愿等待下花费时间的百分比

  • %guest:运行虚拟处理器时CPU花费时间的百分比

  • %idle:CPU的空闲时间(%)

pidstat 1

pidstat用于监控全部或指定进程的资源占用情况,和top命令类似,但不覆盖输出,有利于观察数据随时间的变动情况,top会覆盖之前的输出

pidstat -p 1 1:-p 指定进程号,间隔1s打印pid为1的进程

[root@centos7 ~]# pidstatLinux 3.10.0-1062.el7.x86_64 (centos7) 03/18/2020 _x86_64_ (4 CPU)04:52:29 AM UID PID %usr %system %guest %CPU CPU Command04:52:29 AM 0  1 0.05 0.19 0.00 0.24 0 systemd04:52:29 AM 0  2 0.00 0.00 0.00 0.00 3 kthreadd04:52:29 AM 0  6 0.00 0.00 0.00 0.00 0 ksoftirqd/004:52:29
  • PID:进程ID

  • %usr:进程在用户空间占用cpu的百分比

  • %system:进程在内核空间占用cpu的百分比

  • %guest:进程在虚拟机占用cpu的百分比

  • %CPU:进程占用cpu的百分比,各个CPU上的使用量的总和

  • CPU:处理进程的cpu编号

  • Command:当前进程对应的命令

iostat 1

iostat用于显示CPU和块设备(磁盘I/O)相关的统计信息

[root@centos7 ~]# iostat 1Linux 3.10.0-1062.el7.x86_64 (centos7) 03/18/2020 _x86_64_ (4 CPU)avg-cpu: %user %nice %system %iowait %steal %idle  0.15 0.00 0.34 0.60 0.00 98.92Device:  tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda  9.46 158.59 15.05 142895 13561scd0  0.02  1.14  0.00 1028  0

avg-cpu:总体cpu使用情况统计信息
linux各种设备文件在/dev目录下可以看到

  • tps:每秒进程向磁盘设备下发的IO读、写请求数量

  • kB_read/s:每秒从驱动器读入的数据量

  • kB_wrtn/s:每秒从驱动器写入的数据量

  • kB read:读入数据总量

  • kB wrtn:写入数据总量

sar命令

sar(System ActivityReporter):系统活动情况报告,
是Linux系统性能分析工具。可以用来分析磁盘I/O、CPU效率、内存使用等,下面介绍它的分析网络性能用法。

sar -n DEV 1

检查网络流量的工作负载,可用来检查网络流量是否已经达到限额。

[root@centos7 dev]# sar -n DEV 1Linux 4.18.0-147.5.1.el8_1.x86_64 (iZ8vb54310gt89j8qct198Z) 12/19/2020 _x86_64_ (1 CPU)08:08:37 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s %ifutil08:08:38 PM eth0 4.00 2.00 0.23 0.27 0.00 0.00 0.00 0.0008:08:38 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.0008:08:38 PM docker0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sar -n TCP 1

显示TCP连接情况,可用来描述系统负载

[root@centos7 dev]# sar -n TCP,ETCP 1Linux 4.18.0-147.5.1.el8_1.x86_64 (iZ8vb54310gt89j8qct198Z) 12/19/2020 _x86_64_ (1 CPU)08:15:48 PM active/s passive/s iseg/s oseg/s08:15:49 PM 0.00 0.00 1.00 1.0008:15:48 PM atmptf/s estres/s retrans/s isegerr/s orsts/s08:15:49 PM 0.00 0.00 0.00 0.00 0.00
  • active/s:主动连接数,本地每秒创建的TCP连接数

  • passive/s:被动连接数,远程每秒创建的TCP连接数

  • retrans/s:每秒TCP重传次数

到此,相信大家对“Linux常用命令-性能命令的用法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux常用命令-性能命令的用法是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux常用命令-性能命令的用法是什么

本篇内容主要讲解“Linux常用命令-性能命令的用法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux常用命令-性能命令的用法是什么”吧!本文介绍Linux常用性能统计分析命令,监控
2023-06-09

Linux常用命令之性能命令

本文介绍linux常用性能统计分析命令,监控进程或者系统性能。主要包括CPU(top、mpstat)、内存(vmstat、free)、I/O(iostat)、网络性能(sar)、系统日志信息(demsg)、查看进程状态(pidstat)。下
2022-06-04

Linux命令行下的常用svn命令是什么

Linux命令行下的常用svn命令是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。svn是Linux系统中一个版本控制软件,进行文件的一个版本的管理工具,接下来和大家分
2023-06-28

常用的Linux命令是什么

这篇“常用的Linux命令是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“常用的Linux命令是什么”文章吧。查看硬件相
2023-06-27

Linux常用的性能监控命令及工具是什么

这篇“Linux常用的性能监控命令及工具是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux常用的性能监控命令及工
2023-06-28

cmd命令经常要用的命令是什么

本篇内容介绍了“cmd命令经常要用的命令是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!cmd常用命令大全:1、gpedit.msc--
2023-07-01

Linux常用命令groupdel命令怎么用

这篇文章主要介绍Linux常用命令groupdel命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux常用命令groupdel命令用于删除群组需要从系统上删除群组时,可用groupdel(group d
2023-06-28

Linux常用命令bzless命令怎么用

这篇文章主要介绍Linux常用命令bzless命令怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Linux常用命令bzless命令是增强 .bz2 压缩包查看器,bzless比bzmore命令功能更加强大语法
2023-06-28

Linux 常用命令之Linux more命令使用方法

more 是我们最常用的工具之一,最常用的就是显示输出的内容,然后根据窗口的大小进行分页显示,然后还能提示文件的百分比。 more功能类似 cat ,cat命令是整个文件的内容从上到下显示在屏幕上。 more会以一页一页的显示方便使用者逐页
2022-06-04

Linux shell下常用命令是什么

小编给大家分享一下Linux shell下常用命令是什么,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!这些是我收集了多年的Linux shell的30个有趣的命令和提示。1. 监控命令(每2秒运行一次)watch "ls
2023-06-09

Linux系统的常用命令是什么

小编给大家分享一下Linux系统的常用命令是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!系统信息 arch 显示机器的处理器架构uname -m 显示机器的
2023-06-27

Linux有什么常用命令

这篇文章主要为大家展示了“Linux有什么常用命令”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux有什么常用命令”这篇文章吧。ls最高使用频率的命令之一。命令格式: ls [OPTION
2023-06-15

Linux常用命令之grep命令用法详解

1.官方简介 grep是linux的常用命令,用于对文件和文本执行重复搜索任务的Unix工具,可以通过grep命令指定特定搜索条件来搜索文件及其内容以获取有用的信息。Usage: grep [OPTION]... PATTERN [FILE
2022-06-03

linux的chmod命令用法是什么

chmod命令用于改变文件或目录的权限。其基本语法为:chmod [选项] 模式 文件/目录常用选项包括:- -c:显示更改的权限。- -R:递归地更改指定目录及其子目录中的文件权限。- -f:忽略错误信息。- -v:显示详细的输出信息。常
2023-09-15

linux nice命令的用法是什么

nice命令用于改变进程的优先级,可以将进程的优先级调整为更低的优先级,从而减少对系统资源的占用。通过nice命令,可以让系统更加稳定,避免出现系统负载过高的情况。具体的用法为:nice [OPTION] [COMMAND [ARG].
linux nice命令的用法是什么
2024-03-07

linux命令grep用法是什么

grep是Linux中一种非常实用的文本搜索命令,用于在文件或标准输入中搜索指定的模式,并输出匹配的行。grep的基本用法为:grep [选项] 模式 [文件]其中,选项可选,用于对grep的搜索行为进行进一步的控制,常用的选项包括:-n:
2023-09-14

linux less命令的用法是什么

less命令是一个用于查看文本文件内容的命令,在Linux系统中经常用于浏览大型文件或者长文本文件时使用。它可以根据需要逐页浏览文件,并提供了一些常用的浏览操作。less命令的基本用法如下:```less [选项] [文件名]```常用的选
2023-09-27

linux source命令的用法是什么

source命令是Linux中的一个内建命令,用于读取并执行指定的shell脚本文件。source命令的用法是:source filename或. filename其中,filename是要执行的shell脚本文件的名称。使用source命
2023-10-11

Linux tftp命令的用法是什么

Linux tftp命令是一种用于进行TFTP(Trivial File Transfer Protocol)文件传输的命令行工具。它用于在网络上进行文件传输,主要用于无盘终端或嵌入式设备的系统启动和配置。tftp命令的基本用法如下:从T
2023-10-26

linux vmstat命令的用法是什么

vmstat命令是一个用于监控系统的虚拟内存使用情况的命令。通过vmstat命令可以查看系统的内存、交换空间、I/O等方面的性能数据。vmstat命令的基本用法如下:vmstat [options] [delay [count]]其中,
linux vmstat命令的用法是什么
2024-03-01

编程热搜

目录