linux性能查看命令和工具

CPU 性能查看命令和工具

top:实时监控系统中各进程的 CPU 使用情况。

vmstat:监控系统整体的 CPU 使用情况,包括用户态、内核态和空闲时间。

利用 top、vmstat、pidstat、strace 以及 perf 等几个最常见的工具,获取 CPU 性能指标后,再结合进程与 CPU 的工作原理,就可以迅速定位出 CPU 性能瓶颈的来源。

cpu使用排名

 ps aux --sort=-%cpu | head -n 5

[root@rhel7 ~]# ps aux --sort=-%cpu | head -n 5USERPID %CPU %MEMVSZ   RSS TTY  STAT START   TIME COMMANDroot  1  0.0  0.0 191564  4536 ?Ss   Aug14   0:03 /usr/lib/systemd/systemd --switched-root --system --deserialize 22root  2  0.0  0.0  0 0 ?SAug14   0:00 [kthreadd]root  4  0.0  0.0  0 0 ?S<   Aug14   0:00 [kworker/0:0H]root  6  0.0  0.0  0 0 ?SAug14   0:00 [ksoftirqd/0]

 vmstat 2 3  

 # 间隔2s,打印3次

[root@rhel7 ~]# vmstat 2 3procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache   si   sobibo   in   cs us sy id wa st0  0  0 14435784  79416 85558400 2 1   10   12  0  0 100  0  00  0  0 14435760  79416 85561600 0 0   83  102  0  0 100  0  00  0  0 14435760  79416 85561600 0 0   39   47  0  0 100  0  0

sar -u 3 5 

# 显示CPU利用率,间隔3s,显示5次

[root@rhel7 ~]# sar -u 3 5Linux 3.10.0-1160.el7.x86_64 (rhel7)   08/15/2024   _x86_64_  (4 CPU)02:19:56 AM CPU %user %nice   %system   %iowait%steal %idle02:19:59 AM all  0.00  0.00  0.08  0.00  0.00 99.9202:20:02 AM all  0.33  0.00  0.25  0.00  0.00 99.4202:20:05 AM all  0.00  0.00  0.00  0.00  0.00100.0002:20:08 AM all  0.00  0.00  0.08  0.00  0.00 99.9202:20:11 AM all  0.17  0.00  0.00  0.00  0.00 99.83Average:all  0.10  0.00  0.08  0.00  0.00 99.82

iostat命令

#查看CPU使用情况

[root@rhel7 ~]# iostat -cLinux 3.10.0-1160.el7.x86_64 (rhel7)   08/15/2024   _x86_64_  (4 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle           0.030.010.010.000.00   99.94

 uptime命令:1、5、15分钟平均负载

#如果是8核CPU,load average三个值长期大于8,说明负载很高,会影响系统性能。

[root@rhel7 ~]# uptime02:21:30 up 1 day, 17 min,  3 users,  load average: 0.00, 0.01, 0.05

CPU 使用率

[root@rhel7 ~]# cat /proc/stat | grep cpucpu  13608 4699 4370 39356213 1679 0 43 0 0 0cpu0 3869 889 761 9838971 831 0 10 0 0 0cpu1 3496 744 879 9840695 50 0 3 0 0 0cpu2 3357 1611 1698 9836350 361 0 16 0 0 0cpu3 2884 1453 1031 9840195 437 0 14 0 0 0

mpstat 命令

  #-P ALL 表示监控所有CPU,后面数字5表示间隔5秒后输出一组数据​​​​​​​

[root@rhel7 ~]# mpstat -P ALL 5Linux 3.10.0-1160.el7.x86_64 (rhel7)   08/15/2024   _x86_64_  (4 CPU)05:29:21 AM  CPU%usr   %nice%sys %iowait%irq   %soft  %steal  %guest  %gnice   %idle05:29:26 AM  all0.000.000.000.000.000.000.000.000.00  100.0005:29:26 AM00.000.000.000.000.000.000.000.000.00  100.0005:29:26 AM10.000.000.000.000.000.000.000.000.00  100.0005:29:26 AM20.000.000.000.000.000.000.000.000.00  100.0005:29:26 AM30.000.000.000.000.000.000.000.000.00  100.00
05:29:26 AM  CPU%usr   %nice%sys %iowait%irq   %soft  %steal  %guest  %gnice   %idle05:29:31 AM  all0.000.000.000.050.000.000.000.000.00   99.9505:29:31 AM00.000.000.000.000.000.000.000.000.00  100.0005:29:31 AM10.000.000.000.000.000.000.000.000.00  100.0005:29:31 AM20.000.000.000.000.000.000.000.000.00  100.0005:29:31 AM30.200.000.000.000.000.000.000.000.00   99.80

pidstat 命令 

#查看一下进程的情况,间隔5秒后输出一组数据​​​​​​​​​​​​​​

[root@rhel7 ~]# pidstat -w 5 Linux 3.10.0-1160.el7.x86_64 (rhel7)   08/15/2024   _x86_64_  (4 CPU)   05:31:36 AM   UID   PID   cswch/s nvcswch/s  Command05:31:41 AM 0 6  0.20  0.00  ksoftirqd/005:31:41 AM 0 9 14.14  0.00  rcu_sched05:31:41 AM 011  0.40  0.00  watchdog/005:31:41 AM 012  0.40  0.00  watchdog/105:31:41 AM 017  0.40  0.00  watchdog/205:31:41 AM 022  0.40  0.00  watchdog/3 .....................................05:31:41 AM 0  3280  0.20  0.00  kworker/u256:005:31:41 AM 0  3483  0.40  0.00  kworker/3:205:31:41 AM 0  6305  1.59  0.00  kworker/2:105:31:41 AM 0  6354  1.39  0.00  kworker/0:005:31:41 AM 0  6355  0.20  0.20  pidstat

内存性能查看命令和工具

free命令

#查看系统内存使用情况。 ​​​​​​

[root@rhel7 ~]# free -h totalusedfree  shared  buff/cache   available Mem:15G1.0G 13G 22M952M 14G Swap:  7.9G  0B7.9G

sar命令

#系统性能监控工具,可以监控系统的内存使用率、页面交换等情况。

#-r 内存使用统计信息

#-R 内存统计信息

sar -r

​​​​​​​​​​​​​​

[root@rhel7 ~]# sar -rLinux 3.10.0-1160.el7.x86_64 (rhel7)   08/15/2024   _x86_64_  (4 CPU)    12:00:01 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty12:10:01 AM  14442968   1968988 12.00 78468783512   3222832 13.08923404351276 412:20:01 AM  14443284   1968672 12.00 78504783516   3222832 13.08923356351312 012:30:01 AM  14443108   1968848 12.00 78548783524   3222812 13.08923432351348   28412:40:01 AM  14443312   1968644 12.00 78588783528   3222840 13.08923432351396 012:50:01 AM  14442456   1969500 12.00 78712783520   3222844 13.08923344351512 0.............................................................................06:10:01 AM  14377608   2034348 12.40 84632813600   3245844 13.17966592364860 006:20:01 AM  14377108   2034848 12.40 84660813600   3245756 13.17966820364884 406:30:01 AM  14377260   2034696 12.40 84692813640   3245736 13.179668723649241606:40:01 AM  14377224   2034732 12.40 84820813628   3245764 13.17966796365052 0
Average:kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirtyAverage: 14421106   1990850 12.13 80711790752   3234299 13.1293874635470110

sar -R

[root@rhel7 ~]# sar -RLinux 3.10.0-1160.el7.x86_64 (rhel7)   08/15/2024   _x86_64_  (4 CPU)    12:00:01 AM   frmpg/s   bufpg/s   campg/s12:10:01 AM -0.10  0.02  0.0012:20:01 AM  0.13  0.01  0.0012:30:01 AM -0.07  0.02  0.0012:40:01 AM  0.08  0.02  0.00 ............................06:00:01 AM -0.23  0.02 -0.0006:10:01 AM -0.16  0.01  0.0106:20:01 AM -0.21  0.01  0.0006:30:01 AM  0.06  0.01  0.0206:40:01 AM -0.01  0.05 -0.00    06:40:01 AM   frmpg/s   bufpg/s   campg/s06:50:01 AM  0.00  0.02  0.01Average:-0.67  0.07  0.31

vmstat命令

#除了 CPU,也可以用来监控系统内存使用情况。​​​​​​​

[root@rhel7 ~]# vmstatprocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b   swpd   free   buff  cache   si   sobibo   in   cs us sy id wa st0  0  0 14378812  84888 89048400 1 1   10   12  0  0 100  0  0

内存使用排名

ps aux --sort=-%mem | head -n 6​​​​​​​

[root@rhel7 ~]# ps aux --sort=-%mem | head -n 6USERPID %CPU %MEMVSZ   RSS TTY  STAT START   TIME COMMANDroot   2640  0.0  1.3 3710124 219972 ?  Sl   Aug14   1:17 /usr/bin/gnome-shellroot   1430  0.0  0.2 349572 42868 tty1 Ssl+ Aug14   0:02 /usr/bin/X :0 -background none -noreset -audit 4 -verbose -auth /run/gdm/auth-for-gdm-B4ETCL/database -seat seat0 -nolisten tcp vt1root   2829  0.0  0.1 877316 31764 ?Sl   Aug14   0:00 nautilus-desktop --forceroot   3017  0.0  0.1 733284 28696 ?Sl   Aug14   0:00 /usr/libexec/gnome-terminal-serverroot   2704  0.0  0.1 902492 28516 ?Sl   Aug14   0:00 /usr/libexec/goa-daemon

网络性能查看命令和工具

iftop命令

#实时监控网络流量,需要额外安装

CentOS上安装所需依赖包:

yum install flex byacc  libpcap ncurses ncurses-devel libpcap-devel gcc build-essential -y

下载iftop

wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz

解压

tar zxvf iftop-0.17.tar.gz

进入解压目录

cd iftop-0.17

预编译

./configure

编译安装

make && make install

参数解释:

-i设定监测的网卡,如:# iftop -i eth1

-B 以bytes为单位显示流量(默认是bits),如:# iftop -B

-n使host信息默认直接都显示IP,如:# iftop -n

-N使端口信息默认直接都显示端口号,如: # iftop -N

-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0

-h(display this message),帮助,显示参数信息

-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;

-b使流量图形条默认就显示;

-P使host信息及端口信息默认就都显示;

sar -n命令

#显示系统网络运行状态​​​​​​​

[root@rhel7 iftop-0.17]# sar -n DEV 2 3Linux 3.10.0-1160.el7.x86_64 (rhel7)   08/15/2024   _x86_64_  (4 CPU)    07:14:10 AM IFACE   rxpck/s   txpck/srxkB/stxkB/s   rxcmp/s   txcmp/s  rxmcst/s07:14:12 AM  eth0  2.50  0.00  0.15  0.00  0.00  0.00  0.0007:14:12 AMlo  0.00  0.00  0.00  0.00  0.00  0.00  0.00..............................................................    Average:IFACE   rxpck/s   txpck/srxkB/stxkB/s   rxcmp/s   txcmp/s  rxmcst/sAverage: eth0  4.00  0.33  0.23  0.13  0.00  0.00  0.00Average:   lo  0.00  0.00  0.00  0.00  0.00  0.00  0.00   

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux系统中,可以使用以下命令查看系统的性能指标: 1. top:显示系统中运行的进程和系统资源的实时信息,包括CPU使用率、内存使用情况、进程列表等。可以按下键盘上的"1"键来查看每个CPU核心的详细信息。 2. htop:类似于top命令,但提供了更加用户友好的界面和更多交互功能。可以通过包管理器安装htop,例如在Ubuntu上使用命令"sudo apt install htop"安装。 3. vmstat:显示系统的虚拟内存、进程、块IO、陷阱和CPU活动等统计信息。可以使用命令"vmstat [delay] [count]"来持续输出统计信息。 4. iostat:显示系统的磁盘IO活动情况,包括每个磁盘设备的读写速率、IOPS等信息。可以使用命令"iostat [device] [delay] [count]"来指定设备并持续输出统计信息。 5. sar:系统活动报告工具,可以提供关于CPU、内存、磁盘、网络等方面的历史性能数据。可以使用sar命令结合不同的选项来查看不同类型的性能数据。 6. free:显示系统内存使用情况,包括物理内存、交换空间等。可以使用命令"free -h"以人类可读的格式显示内存信息。 7. netstat:显示网络连接、路由表、网络接口统计等网络相关信息。可以使用不同的选项来查看不同类型的网络信息。 8. iftop:实时监控网络流量的工具,显示当前系统中每个网络接口的流量信息。可以使用包管理器安装iftop。 以上命令只是一些常用的性能查看命令,还有其他许多工具命令可用于进一步分析和监控系统性能。根据具体需求,可以使用适当的命令工具查看和分析系统性能
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值