美文网首页
linux 系统60s

linux 系统60s

作者: 明翼 | 来源:发表于2022-03-09 10:02 被阅读0次

我们在遇到linux下的程序性能问题或做故障排查的时候,需要快速做个粗略的定位,再做详细的分析,检查项目包括:

1. uptime

[root@localhost ~]# uptime
 20:20:46 up 41 days,  3:56,  6 users,  load average: 0.22, 0.20, 0.15

依次是最近1分钟,5分钟,15分钟的系统平均负载,也就是有多少个任务在执行(包括阻塞在IO上的进程),注意和cpu利用率区分,真正区分系统是否繁忙。

2. dmesg |tail

[root@localhost ~]# dmesg |tail
[2845144.551570] tg3 0000:19:00.1 em4: Link is up at 1000 Mbps, full duplex
[2845144.551577] tg3 0000:19:00.1 em4: Flow control is on for TX and on for RX
[2845144.551580] tg3 0000:19:00.1 em4: EEE is enabled
[2845144.551593] IPv6: ADDRCONF(NETDEV_CHANGE): em4: link becomes ready
[2845167.145618] tg3 0000:19:00.1 em4: Link is down
[2845173.199638] tg3 0000:19:00.1 em4: Link is up at 1000 Mbps, full duplex
[2845173.199645] tg3 0000:19:00.1 em4: Flow control is on for TX and on for RX
[2845173.199647] tg3 0000:19:00.1 em4: EEE is enabled
[2845183.488170] tg3 0000:19:00.1 em4: Link is down
[3506943.464711] nr_pdflush_threads exported in /proc is scheduled for removal

查看系统的日志,oom被杀的进程这里面可以看到记录,还可以看到其他的错误,内核问题经常会在这里面有所提示。

3. vmstat 1

[root@localhost ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0     16 47282584    116 79965408    0    0     1     8    0    0  0  0 100  0  0
 0  0     16 47282584    116 79965408    0    0     0    32 2527 1597  0  0 100  0  0
 0  0     16 47282584    116 79965408    0    0     0     0 2525 1596  0  0 100  0  0
 0  0     16 47282584    116 79965408    0    0     0     0 2538 1535  0  0 100  0  0
 0  0     16 47265224    116 79966864    0    0     0     0 2562 1622  0  0 100  0  0
 0  0     16 47266192    116 79965408    0    0     0     0 2534 1554  0  0 100  0  0

偏向总体指标包括cpu,内存,io和swap;关注几个点:cpu指标的r:标识CPU上正在执行和等待执行的进程数量,一个比cpu数量更多的值,标识cpu资源处于饱和状态;其他us,sy,id,wa,st和top命令含义一样。

内存资源里面的free: 空闲内存的数量;si和so:页面换入和换出,内存不够了,才会启动换出和换入。

4. mpstat -P ALL 1

[root@localhost ~]# mpstat -P ALL 1
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     03/03/2022  _x86_64_    (56 CPU)

08:22:50 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
08:22:51 PM  all    0.00    0.00    0.02    0.00    0.00    0.00    0.00    0.00    0.00   99.98
08:22:51 PM    0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
08:22:51 PM    1    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
08:22:51 PM    2    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
08:22:51 PM    3    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
08:22:51 PM    4    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
08:22:51 PM    5    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00

将每个cpu在各个状态下的时间打印出来,可以发现cpu的处理没有均衡等问题。

5. pidstat 1

[root@localhost ~]# pidstat 1
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     03/03/2022  _x86_64_    (56 CPU)

08:23:58 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
08:23:59 PM     0        10    0.00    0.98    0.00    0.98    15  rcu_sched
08:23:59 PM     0       320    0.00    0.98    0.00    0.98     3  khungtaskd
08:23:59 PM   997      2102    0.00    0.98    0.00    0.98     7  mysqld
08:23:59 PM   994    169414    0.98    0.98    0.00    1.96    52  clickhouse-serv
08:23:59 PM     0    457475    0.00    1.96    0.00    1.96    31  pidstat

08:23:59 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
08:24:00 PM     0     93059    0.00    1.00    0.00    1.00    31  taosd
08:24:00 PM   994    169414    0.00    1.00    0.00    1.00    52  clickhouse-serv
08:24:00 PM     0    457475    1.00    1.00    0.00    2.00    31  pidstat

08:24:00 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
08:24:01 PM     0     93059    1.00    0.00    0.00    1.00    31  taosd
08:24:01 PM   994    169414    2.00    1.00    0.00    3.00    52  clickhouse-serv
08:24:01 PM     0    457475    0.00    2.00    0.00    2.00    31  pidstat
^C

Average:      UID       PID    %usr %system  %guest    %CPU   CPU  Command
Average:        0        10    0.00    0.33    0.00    0.33     -  rcu_sched
Average:        0       320    0.00    0.33    0.00    0.33     -  khungtaskd
Average:      997      2102    0.00    0.33    0.00    0.33     -  mysqld
Average:        0     93059    0.33    0.33    0.00    0.66     -  taosd
Average:      994    169414    0.99    0.99    0.00    1.99     -  clickhouse-serv
Average:        0    457475    0.33    1.66    0.00    1.99     -  pidsta

按照每个进程展示cpu的使用情况,支持滚动输出,这样就可以打印不同时间段的每个进程的cpu使用情况。

6. iostat -xz 1

[root@localhost ~]# iostat -xz 1
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     03/03/2022  _x86_64_    (56 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.06    0.00    0.02    0.00    0.00   99.91

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.61    0.18   13.43    33.15   449.41    70.89     0.05    3.99    8.30    3.93   0.09   0.13
dm-0              0.00     0.00    0.02    0.27     0.51    11.57    85.58     0.00    2.87    4.28    2.79   0.24   0.01
dm-1              0.00     0.00    0.00    0.00     0.00     0.00    45.04     0.00    8.27    7.42   28.75   7.65   0.00
dm-2              0.00     0.00    0.17   13.78    32.63   437.84    67.48     0.05    3.90    8.69    3.85   0.09   0.12

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.04    0.00    0.04    0.00    0.00   99.93

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.00     0.00    0.00   19.00     0.00   308.00    32.42     0.00    0.00    0.00    0.00   0.00   0.00
dm-0              0.00     0.00    0.00    1.00     0.00    24.00    48.00     0.00    0.00    0.00    0.00   0.00   0.00
dm-2              0.00     0.00    0.00   18.00     0.00   284.00    31.56     0.00    0.00    0.00    0.00   0.00   0.00

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.02    0.00    0.00   99.98

主要显示存储设备的IO性能的,await为IO 响应的平均时间,以毫秒为单位,这是应用需要等待的时间,包括IO队列排队时间和服务时间。

avgqu-sz:设备请求队列的平均长度,可以认为为IO的繁忙程度;
avgrq-sz: 每次IO请求的扇区的大小,单位为扇区512个字节,表示IO每次的大小

7.free -m

以MB为单位查看空余内存大小,我更喜欢用free -h 这才是人看的。

[root@localhost ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:         128192        3927       46183          97       78080      123245
Swap:          4095           0        4095
[root@localhost ~]# free -h
              total        used        free      shared  buff/cache   available
Mem:           125G        3.8G         45G         97M         76G        120G
Swap:          4.0G         16K        4.0G

8. sar -n DEV 1

各个网卡的流量大小,

[root@localhost ~]# sar -n DEV 1
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     03/03/2022  _x86_64_    (56 CPU)

08:27:25 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:27:26 PM      p2p1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:27:26 PM      p2p2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:27:26 PM      p3p1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:27:26 PM      p3p2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:27:26 PM        lo      5.00      5.00      2.73      2.73      0.00      0.00      0.00
08:27:26 PM       em4      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:27:26 PM       em2      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:27:26 PM       em1     27.00      2.00      2.87      0.27      0.00      0.00     19.00
08:27:26 PM       em3      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:27:26 PM      p1p1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:27:26 PM      p1p2      0.00      0.00      0.00      0.00      0.00      0.00      0.00

字段解释:

             rxpck/s
                     Total number of packets received per second.
              txpck/s
                     Total number of packets transmitted per second.
              rxkB/s
                     Total number of kilobytes received per second.
              txkB/s
                     Total number of kilobytes transmitted per second.
              rxcmp/s
                     Number of compressed packets received per second (for cslip etc.).
              txcmp/s
                     Number of compressed packets transmitted per second.
              rxmcst/s
                     Number of multicast packets received per second.

9. sar -n TCP,ETCP 1

用此工具查看tcp指标, active/s 每秒本地发起的TCP连接数,passive/s 每秒远端发起的TCP连接数,
retrans/s 为每秒重传的包数

[root@localhost ~]# sar -n TCP,ETCP 1
Linux 3.10.0-693.el7.x86_64 (localhost.localdomain)     03/03/2022  _x86_64_    (56 CPU)

08:30:46 PM  active/s passive/s    iseg/s    oseg/s
08:30:47 PM      0.00      0.00      6.93      6.93

08:30:46 PM  atmptf/s  estres/s retrans/s isegerr/s   orsts/s
08:30:47 PM      0.00      0.00      0.00      0.00      0.00

08:30:47 PM  active/s passive/s    iseg/s    oseg/s
08:30:48 PM      0.00      0.00      4.00      4.00

08:30:47 PM  atmptf/s  estres/s retrans/s isegerr/s   orsts/s
08:30:48 PM      0.00      0.00      0.00      0.00      0.00

08:30:48 PM  active/s passive/s    iseg/s    oseg/s
08:30:49 PM      0.00      0.00      4.00      4.00

08:30:48 PM  atmptf/s  estres/s retrans/s isegerr/s   orsts/s
08:30:49 PM      0.00      0.00      0.00      0.00      0.00

相关文章

  • linux 系统60s

    我们在遇到linux下的程序性能问题或做故障排查的时候,需要快速做个粗略的定位,再做详细的分析,检查项目包括: 1...

  • Linux Shell命令及配置安装手册

    Linux 教程 Linux 教程、Linux 简介、Linux 安装、Linux 系统启动过程、Linux 系统...

  • Linux学习目录

    Linux基础知识与系统管理视频教程 ├─1 Linux系统简│ ├─Linux教程 1.1.1 Linux系统...

  • 运维技术栈

    Linux系统运维与架构设计技术栈 Linux系统基础入门 Linux系统概述与运维环境搭建 Linux系统管理 ...

  • Linux简单命令

    linux 操作系统 一.linux 操作系统概述 1.常见操作系统- 服务端操作系统 : linux、unix、...

  • 嵌入式系统学习进阶

    1、Linux 基础 安装Linux操作系统 Linux文件系统 Linux常用命令 Linux启动过程详解 熟悉...

  • 3.linux管理

    Linux系统管理 Linux优势 Linux结构 发行版本 Release linux 目录结构 查看系统内核版...

  • Linux 系统目录结构

    Linux 系统目录结构 参考 Linux 系统目录结构 在 Linux 或 Unix 操作系统中,所有的文件和目...

  • Linux基础知识

    第一讲 Linux系统简介 1.1.1 Linux系统简介-UNIX发展历史和发行版本1.1.2 Linux系统简...

  • 关闭和重启Linux系统

    Linux教程 关闭和重启Linux系统 在Linux系统下,常用的关闭/重启系统的命令有shutdown hat...

网友评论

      本文标题:linux 系统60s

      本文链接:https://www.haomeiwen.com/subject/snpurrtx.html