linux学习-linux性能检查工具

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux学习-linux性能检查工具相关的知识,希望对你有一定的参考价值。

在日常运维中,需要关注服务器CPU,内存,网络IO等指标,使用内置的命令如top,ps, free等工具虽然可以检查,但是非常不直观,而且难用。所以总结了一些常用的TUI的性能检查工具。

磁盘性能

iotop

   iotop是一个用来监视磁盘I/O使用状况的工具,可以检测到哪一个程序使用的磁盘IO的实时信息。

#centos7 安装
yum -y install iotop

安装完成后,执行iotop即可展现系统所有的IO信息

linux学习-linux性能检查工具_服务器

可以看到有PID为299678,102407,428053,219141的进程正在执行写操作,可以看到磁盘的速率以及IO占比,同时还可以看到整个磁盘的读,写状态。

常用的命令格式如下:

-p 指定进程ID,显示该进程的IO情况
-u 指定永明,显示该用户的进程IO情况
-P --processes 只显示进程,默认为显示所有的线程
-k 以千字节显示
-t --time 每行添加一个当前时间
# 还支持交互模式
o 只显示当前有IO输出的进程
p 线程,进程切换

通过该工具,可以马上找到消耗磁盘IO的程序

iostat

iostat的主要功能是对磁盘的I/O操作进行监视,显示磁盘读写操作的统计信息。

#安装
yum install sysstat

一般通过iostat -d 3 5 命令组合查看系统磁盘的使用情况

linux学习-linux性能检查工具_服务器_02

输出解释如下:

  • Blk_read/s 表示每秒读取的数据块数
  • Blk_wrtn/s 表示每秒写入的数据块数
  • Blk_read 读取的所有块数
  • Blk_wrtn表示写入的所有块数

可以通过Blk_read/s,Blk_wrtn/s对磁盘的读写性能有一个基本的了解。如果Blk_wrtn/s值很大,表示磁盘的写操作很频繁,可以考虑优化磁盘或者优化程序,如果Blk_read/s值很大,表示磁盘直接读取的操作很多,可以将读取的数据放入内存中操作。

网络性能

mtr

mtr 可以很好的判断网络连通性能。

mtr 8.8.8.8

linux学习-linux性能检查工具_ios_03


  • Host 途径IP或者本机域名
  • Loss % 丢包率,注意只有最后的目标丢包才算真正的丢包
  • last 最后返回的延迟,单位为毫秒
  • Avg 返回延迟的平均值
  • Best 最快的一次返回延迟
  • Wrst 最长的一次返回延迟
  • StDev 延迟的标准偏差

iftop

iftop可以监控指定网卡的实时流量,端口连接信息,方向解析IP等,还可以精确的显示本机网络流量情况以及网络内个主机与本机相互通信的流量集合,非常适合监控代理服务器或者路由器的网络流量。可以快速定位异常,帮助网络排障和安全检测。

默认情况下,iftop显示系统第一块网卡的流量信息,要显示指定网卡信息,-i参数实现。

iftop -P -i eth5

linux学习-linux性能检查工具_服务器_04

iftop输出分为三个部分

  • 第一部分,显示流量刻度,显示网卡带宽流量
  • 第二部分,左列和中列记录了哪些IP或者主机正在和本机网络连接。=>代表发送数据,<=代表接收数据,最右列显示了2秒内,10秒内,40秒内的平均流量。
  • 第三部分,TX代表发送数据,RX代表接收数据,TOTAL代表发送和接收全部数据cum表示从iftop运行到目前的发送,接收和总数据量。peak代表发送接收以及总的流量峰值,rates代表过去2s,10s,40s的平均流量。

需要注意的是,iftop流量显示单位是Mb

iftop常用功能

#监控某块网卡
iftop -i eth0
#同时显示主机以及端口信息
ifto -i eth0 -n -P
#输出指定时间段的网络流量
iftop -nNP -i eth0 -f `net(172.31.213.0/24 or 172.16.212.0/24) -t -s 60 >> net.txt
#-f 过滤条件
#-t -s 60 组合使用60秒网络流量到输出到终端

系统性能监控

htop

htop是互动的进程查看器,支持交互操作,支持颜色主题,并支持鼠标操作

linux学习-linux性能检查工具_物理内存_05

htop分了5个展示区,分别是cpu展示区,内存展示区,整机状态去,进程状态区和管理控制台

htop通过进度条展示每个cpu逻辑核的使用百分比,并且通过不同的颜色区分,其中蓝色代表low-prority使用,绿色代表normal使用,红色代表kernrel使用,情色代表vistualziz使用。从上图看到,此服务器有72个逻辑核。

内存展示的主要是物理内存和swap的状态。率代表已经使用内存的情况,蓝色代表缓冲的内存使用,黄色代表用于缓存的内存使用。上图显示,服务器有377G内存使用。swap选项中,主要显示交换分区的使用情况,如果使用过大,那么需要增加内存。

整体状态,其中task显示的是进程总数,当前运行的总进程数,load average展示的是系统1分钟,5分钟,10分钟的平均负载。

运行状态展示了当前系统中所有的进程,默认12列组成

PID:进程标志号,是非零正整数
USER:进程所有者的用户名
PR:进程的优先级别
NI:进程的优先级别数值
VIRT:进程占用的虚拟内存值
RES:进程占用的物理内存值
SHR:进程使用的共享内存值
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
%CPU:该进程占用的CPU使用率
%MEM:该进程占用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间
COMMAND:进程启动的启动命令名称

其中F1-F10健都可以指定的功能

以上是关于linux学习-linux性能检查工具的主要内容,如果未能解决你的问题,请参考以下文章

性能工具之15个常用的Linux文件系统命令

Linux服务器性能监控工具sar二

Linux Performance Analysis and Tools(Linux性能分析和工具)

检查Linux服务器性能的关键十条命令

Linux工具学习

性能工具之linux三剑客awkgrepsed详解