Linux常用命令(二):性能分析相关

概述:服务器的性能与四大硬件相关:CPU、内存、网络、硬盘相关

在做性能分析时,需要额外安装一些命令或者软件

yum install epel-release

yum install -y sysstat iftop iperf3    # sysstat可以查看内存相关性能,iftop和iperf3可以查看网络相关性能

一、ps命令

基本应用:

ps -ef |head -5,使用head命令查看前5行

只显示部分字段内容:

ps -o pid,comm,pcpu,pmem,time -ef

ps -o pid,comm,pcpu,pmem,time -e

通过ps查找对应的pid,关闭进程:

需求:开启一个ping进程(ping 百度网站),然后通过ps命令查找对应的进程ID,使用管道命令将该进程杀掉

ps -ef |grep baidu |grep -v grep| awk '{print $2}'|xargs kill

二、top命令

略,在其他Linux命令文章里面已写

组合命令:

例题1:每隔1秒检测指定进程的cpu,检测20次

  top -d 1 -n 20 -p 要看进程的PID值

  比如:top -d 1 -n 20 -p 12677

 例题2:检测指定PID的内存20次

  PID=要看的进程ID

  top -b -n 20 -d 1 -p $PID| grep --line-buffered $PID| awk '{print $10}'

  for i in {1..20}; do top -d 1 -n 1 -p $PID| grep $PID | awk '{print $10}'; sleep 1; done

例题三:测试负载:

us:

for count in $(seq 0 $(($(cat /proc/cupinto | grep processor | wc -l)-1))); do taskset -c $count yes > /dev/null & done && sleep 30 && ps -ef | grep yes |grep -v grep |awk '{print $2}' | xargs kill;

sy:

for count in `seq 1 100`; do echo "run cat ${count} times"; cat /dev/zero > /dev/null & done && sleep 30 && ps -ef | grep cat |grep -v grep |awk '{print $2}' |xargs kill -9;

二、内存性能

free命令

free:

显示的内存容量单位默认使用kb

free -h:

以人类更能读懂的容量来进行显示,比如多少G

total:总物理内存

used:已经使用的物理内存

free:没有使用过的物理内存

shared:多进程共享内存

buff/cache:读写缓存内存,这部分内存时当空闲来用的,当free内存不足时,linux内核会将此内存释放

  buffer是即将要被写入磁盘的,cache是从磁盘中读出来的

available:还能被应用程序使用的物理内存

demsg命令

demsg | grep memory

demsg | grep "out of memory"

关注会导致性能问题的错误信息

三、硬盘IO(Input Output)

iostat命令:

  iostat

  iostat 1:每间隔1秒刷一次,1可以更改为其他间隔时间

  iostat -d:只显示Device的信息

  iostat -c:只显示cpu的信息

测试硬盘IO:

写:dd if=/dev/zero bs=1024 count=4096000 of=test.iso

读:dd if=test.iso bs=64k |dd of=/dev/null

bs:设置读写缓冲区的字节数

只观察Device的tps指标:iostat 1|awk '{print $2; fflush()}'|grep --line-buffered -A 1 tps|grep -P '\d+.\d+'

四、网络IO

iftop命令:

iftop -n -i eth0:-n不进行dns反解析,-i指定网络接口

=>代表发送数据,后面的三项数据分别是2s、10s、40s的平均数据

<=代表接收数据

TX(Transmission):发送数据

RX:接收数据

TOTAL:开启iftop后全部流量

cum:开启iftop后累积流量

peak:流量峰值

rates:平均值,2s、10s、40s的平均流量

iftop命令详解:

https://www.vpser.net/manage/iftop.html

iperf3工具:

iperf3是一个网络速度测试工具,支持IPv4与IPv6,支持TCP、UDP、SCTP传输协议,用于主动测量IP网络上可达到的最大带宽的工具

服务端:iperf3 -s -p 8000

客户端:iperf3 -c 服务端IP -p 8000 -t 10

  -t:测试时间,单位为s

  -R:反向测试

  -f:指定显示数据格式:K M G

iperf3详解:

https://www.oschina.net/p/iperf3?hmsr=aladdin1e1

netstat命令:

记录几个统计的命令:

netstat -an | awk '/^tcp/{++status[$NF]}END{for(s in status)print s,status[s]}'

for count in `seq 1 10`;do echo "查询状态第${count}次";netstat -an | awk '/^tcp/{++status[$NF]}END{for(s in status)print s,status[s]}';sleep 1;echo -e "";done

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值