码迷,mamicode.com
首页 > 系统相关 > 详细

Linux性能分析工具

时间:2018-03-05 12:57:19      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:上层   中断   软件   取数据   套接字   扩展信息   netstat   模式   占用   

  影响Linux服务器性能的因素有很多,从底层的硬件到操作系统,从网络到上层应用。找到系统硬件和软件资源的平衡点是关键。

1.uptime

 10:27:14 up 18 min, 5 users, load average: 10.78, 9.13, 5.42

重点关注load average参数,3个数值分别表示1分钟、5分钟、10分钟的系统负载。如果负载值长时间超过CPU个数的2倍,说明系统处于高负载状态

2.vmstat

技术分享图片

procs

r表示运行和等待CPU时间片的进程数,如果这个值长期大于CPU个数,说明CPU性能不足

b表示在等待资源的进程数,等待的资源有I/O或内存交换等

memory

swpd表示切换到内粗交换区的内存数量,单位KB

free表示当前空闲的内存数量,单位KB

buff表示buffers cache的内存数量

cache表示page cached的内存数量

swap

si表示内存进入内存交换区的数量

so表示内存交换区进入内存的数量

#一般情况下,si、so的值都为0。如果si、so的值长期不为0,则系统内存不足

io

bi表示从块设备读取数据总量,单位KB

bo表示写入到块设备的数据总量,单位KB

#bi  + bo 的值大于1000,而且wa的值较大,表示系统磁盘IO有问题

system

in表示在谋一时间间隔中观测到的每秒设备中断数

cs表示每秒产生的上下文切换次数,值越大表示内核消耗的CPU时间越多

CPU

us表示用户进程消耗的CPU时间百分比。值过高需考虑优化程序或算法

sy表示内核进程消耗的CPU时间百分比

id表示CPU处在空闲状态时间的百分比

wa表示IO等待所占用的CPU时间百分比,值越高,IO等待越严重

st表示虚拟机占用的时间百分比

#us + sy 的值大于80%,可能会CPU性能不足

3.top

技术分享图片

Mem:  总内存      空闲内存   已经使用的内存  用于缓存的内存

Swap:  交换空间总大小   空闲的交换空间  使用的交换内存空间  可用的内存空间  

#top命令默认5秒刷新一次

#top命令按m键进入内存模式

技术分享图片

 

4.free 查看内存使用状况

 技术分享图片

5.iostat 查看磁盘I/O

技术分享图片

tps每秒发送到的I/O请求数  kB_read/s每秒读取的数据块数  kB_wrtn/s每秒写入的数据块数  

kB_read读取的所有块数  kB_wrtn写入的所有块数

常用参数

-c    仅显示CPU统计信息,与-d互斥

-d    仅显示磁盘统计信息,与-c互斥

-k    以KB为单位显示每秒磁盘请求数,默认单位为块

-p    后面跟具体设备或ALL,用于显示某块设备及系统分区的统计信息

-t    在输出数据时,打印搜集数据的时间

-V    打印版本号

-x    输出扩展信息

 

6.TCP连接优化

     TCP/IP连接断开后,会以TIME_WAIT状态保留一定的时间,然后才会释放端口。当并发请求过多的时候,就会产生大量的TIME_WAIT,不能及时断开的话,会占用大量的端口资源和服务器资源

     netstat -an|awk ‘/tcp/ {print $6}‘|sort|uniq -c

       5 ESTABLISHED
       5 LISTEN
       2048 TIME_WAIT

     vim /etc/sysctl.conf

     #开启重用,允许将TIME_WAIT状态的连接重新用于新的TCP连接

     net.ipv4.tcp_tw_reuse = 1

     #开启TCP连接中TIME_WAIT连接的快速回收

     net.ipv4.tcp_tw_recycle = 1

     #控制同时保持TIME_WAIT套接字的最大数量

     net.ipv4.tcp_max_tw_buckets = 1000

      

     sysctl -p

     net.ipv4.tcp_tw_reuse = 1
     net.ipv4.tcp_tw_recycle = 1
     net.ipv4.tcp_max_tw_buckets = 1000

 

     netstat -an|awk ‘/tcp/ {print $6}‘|sort|uniq -c
     6 ESTABLISHED
     5 LISTEN
     995 TIME_WAIT

      

    TCP状态说明

技术分享图片

Linux性能分析工具

标签:上层   中断   软件   取数据   套接字   扩展信息   netstat   模式   占用   

原文地址:https://www.cnblogs.com/liang-yao/p/8508041.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!