加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱故事小小网_铜陵站长网 (http://www.0562zz.com/)- 视频终端、云渲染、应用安全、数据安全、安全管理!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux运维必备的Linux性能检测常用命令概括!

发布时间:2022-07-15 13:23:24 所属栏目:Linux 来源:互联网
导读:为了帮助大家更好的学习和掌握Linux运维技巧,Linux入门新手和正在Linux学习的小伙伴快来看一看吧,希望能够对大家有所帮助! 01、uptime $ uptime 23:51:26 up 21:31, 1 user, load average: 30.02, 26.43, 19.0212 该命令可以大致的看出计算机的整体负载情
  为了帮助大家更好的学习和掌握Linux运维技巧,Linux入门新手和正在Linux学习的小伙伴快来看一看吧,希望能够对大家有所帮助!
 
  01、uptime
  $ uptime
  23:51:26 up 21:31, 1 user, load average: 30.02, 26.43, 19.0212
  该命令可以大致的看出计算机的整体负载情况,load average后的数字分别表示计算机在1min、5min、15min内的平均负载。
 
  02、dmesg | tail
  $ dmesg | tail
  [1880957.563150] perl invoked oom-killer: gfp_mask=0x280da, order=0, oom_score_adj=0
  [...]
  [1880957.563400] Out of memory: Kill process 18694 (perl) score 246 or sacrifice child
  [1880957.563408] Killed process 18694 (perl) total-vm:1972392kB, anon-rss:1953348kB, file-rss:0kB
  [2320864.954447] TCP: Possible SYN flooding on port 7001. Dropping request.  Check SNMP counters.123456
  打印内核环形缓存区中的内容,可以用来查看一些错误;
 
  上面的例子中,显示进程18694因引内存越界被kill掉以及TCP request被丢弃的错误。通过dmesg可以快速判断是否有导致系统性能异常的问题。
 
  03、vmstat 1
  $ 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
  34  0    0 200889792  73708 591828    0    0     0     5    6   10 96  1  3  0  0
  32  0    0 200889920  73708 591860    0    0     0   592 13284 4282 98  1  1  0  0
  32  0    0 200890112  73708 591860    0    0     0     0 9501 2154 99  1  0  0  0
  32  0    0 200889568  73712 591856    0    0     0    48 11900 2459 99  0  0  0  0
  32  0    0 200890208  73712 591860    0    0     0     0 15898 4840 98  1  1  0  0
  ^C123456789
  打印进程、内存、交换分区、IO和CPU等的统计信息;
 
  vmstat的格式如下
 
  > vmstat [options] [delay [count]]
 
  vmstat第一次输出表示从开机到vmstat运行时的平均值;剩余输出的都是在指定的时间间隔内的平均值,上述例子中delay的值设置为1,除第一次以外,剩余的都是1秒统计一次,count未设置,将会一直循环打印。
 
  $ vmstat 10 3
  procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
   r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
   1  0      0 2527112 1086888 13720228    0    0     1    14    2    1  1  1 99  0  0
   0  0      0 2527156 1086888 13719856    0    0     0   104 3003 4901  0  0 99  0  0
   0  0      0 2526412 1086888 13719904    0    0     0    10 3345 4870  0  1 99  0  0123456
  上述的例子中delay设置为10,count设置为3,表示每行打印10秒内的平均值,只打印3次。
 
  需要检查的列
 
  ·     r:表示正在运行或者等待CPU调度的进程数。因为该列数据不包含I/O的统计信息,因此可以用来检测CPU是否饱和。若r列中的数字大于CPU的核数,表示CPU已经处于饱和状态。
 
  ·     free:当前剩余的内存;
 
  ·     si, so:交换分区换入和换出的个数,若换入换出个数大于0,表示内存不足;
 
  ·     us, sy, id, wa:CPU的统计信息,分别表示user time、system time(kernel)、idle、wait I/O。I/O处理所用的时间包含在system time中,因此若system time超过20%,则I/O可能存在瓶颈或异常;
 
  04、mpstat - P ALL 1
  $ mpstat -P ALL
  Linux 3.10.0-229.el7.x86_64 (localhost.localdomain)     05/30/2018  _x86_64_    (16 CPU)
 
  04:03:55 PM  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest  %gnice   %idle
  04:03:55 PM  all    3.67    0.00    0.61    0.71    0.00    0.00    0.00    0.00    0.00   95.02
  04:03:55 PM    0    3.52    0.00    0.57    0.76    0.00    0.00    0.00    0.00    0.00   95.15
  04:03:55 PM    1    3.83    0.00    0.61    0.71    0.00    0.00    0.00    0.00    0.00   94.85
  04:03:55 PM    2    3.80    0.00    0.61    0.60    0.00    0.00    0.00    0.00    0.00   94.99
  04:03:55 PM    3    3.68    0.00    0.58    0.60    0.00    0.00    0.00    0.00    0.00   95.13
  04:03:55 PM    4    3.54    0.00    0.57    0.60    0.00    0.00    0.00    0.00    0.00   95.30
  [...]1234567891011
  05、pidstat 1
  $ pidstat 1
  Linux 3.13.0-49-generic (titanclusters-xxxxx)  07/14/2015    _x86_64_    (32 CPU)
 
  07:41:02 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
  07:41:03 PM     0         9    0.00    0.94    0.00    0.94     1  rcuos/0
  07:41:03 PM     0      4214    5.66    5.66    0.00   11.32    15  mesos-slave
  07:41:03 PM     0      4354    0.94    0.94    0.00    1.89     8  java
  07:41:03 PM     0      6521 1596.23    1.89    0.00 1598.11    27  java
  07:41:03 PM     0      6564 1571.70    7.55    0.00 1579.25    28  java
  07:41:03 PM 60004     60154    0.94    4.72    0.00    5.66     9  pidstat
 
  07:41:03 PM   UID       PID    %usr %system  %guest    %CPU   CPU  Command
  07:41:04 PM     0      4214    6.00    2.00    0.00    8.00    15  mesos-slave
  07:41:04 PM     0      6521 1590.00    1.00    0.00 1591.00    27  java
  07:41:04 PM     0      6564 1573.00   10.00    0.00 1583.00    28  java
  07:41:04 PM   108      6718    1.00    0.00    0.00    1.00     0  snmp-pass
  07:41:04 PM 60004     60154    1.00    4.00    0.00    5.00     9  pidstat
  ^C123456789101112131415161718
  该命令用于打印各个进程对CPU的占用情况,类似top命令中显示的内容。pidstat的优势在于,可以滚动的打印进程运行情况,而不像top那样会清屏。
 
  上述例子中,%CPU中两个java进程的cpu利用率分别达到了1590%和1573%,表示java进程占用了16颗CPU。
 
  06、iostat - xz 1
  类似vmstat,第一次输出的是从系统开机到统计这段时间的采样数据;
 
  $ iostat -xz 1
  Linux 3.13.0-49-generic (titanclusters-xxxxx)  07/14/2015  _x86_64_ (32 CPU)
 
  avg-cpu:  %user   %nice %system %iowait  %steal   %idle
            73.96    0.00    3.73    0.03    0.06   22.21
 
  Device:   rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
  xvda        0.00     0.23    0.21    0.18     4.52     2.08    34.37     0.00    9.98   13.80    5.42   2.44   0.09
  xvdb        0.01     0.00    1.02    8.94   127.97   598.53   145.79     0.00    0.43    1.78    0.28   0.25   0.25
  xvdc        0.01     0.00    1.02    8.86   127.79   595.94   146.50     0.00    0.45    1.82    0.30   0.27   0.26
  dm-0        0.00     0.00    0.69    2.32    10.47    31.69    28.01     0.01    3.23    0.71    3.98   0.13   0.04
  dm-1        0.00     0.00    0.00    0.94     0.01     3.78     8.00     0.33  345.84    0.04  346.81   0.01   0.00
  dm-2        0.00     0.00    0.09    0.07     1.35     0.36    22.50     0.00    2.55    0.23    5.62   1.78   0.03
  [...]
  ^C123456789101112131415
  检查列
 
  ·     r/s, w/s, rkB/s, wkB/s,表示每秒向I/O设备发出的reads、writes、read Kbytes、write Kbytes的数量。
 
  ·     await,表示应用程序排队等待和被服务的平均I/O时间,该值若大于预期的时间,这表示I/O设备处于饱和状态或者异常。
 
  ·     avgqu-sz,表示请求被发送给I/O设备的平均时间,若该值大于1,则表示I/O设备可能已经饱和;
 
  ·     %util,每秒设备的利用率;若该利用率超过60%,则表示设备出现性能异常;

(编辑:我爱故事小小网_铜陵站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读