1.PING 加日期
ping 192.168.181.208 | awk '{ print $0"\t" strftime("%H:%M:%S",systime()) } ’ >ping2.log
2.通过端口查进程
netstat -tunlp|grep 9628
3.uptime
当前时间,系统运行时间,正在登录用户数
过去1分钟,5分钟,15分钟的平均负载情况
平均负载:单位数据内,系统处于可运行状态和不可中断状态的平均进程数
可运行状态:正在使用CPU或者正在等待CPU的进程 PS命令看到的R进程
不可中断状态的进程:处于内核态关键流程中的进程,不可打断 PS D进程
例子:假设单CPU 1.73 0.60 7.98,1分钟 73%负载,15分钟698负载,负载降低,一般超过70%我们就要关注了
注意:平均负载高有可能是IO CPU 或者等待CPU调度三种情况导致的,而不单单指CPU
4.CPU信息查看
总核数 = 物理CPU个数 X 每颗物理CPU的核数
总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
查看物理CPU个数
cat /proc/cpuinfo| grep “physical id”| sort| uniq| wc -l
查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep “cpu cores”| uniq
查看逻辑CPU的个数
cat /proc/cpuinfo| grep “processor”| wc -l
top 1看几核CPU
5.stress 系统压力测试工具,模拟压力测试
sudo yum install -y epel-release
sudo yum install -y stress
stress --cpu 1 --timeout 600 模拟第一个CPU使用率100%命令
stress -i 1 --timeout 600 模拟磁盘负载高
watch -d uptime 查看UPTIME变化
6.sysstat linux性能工具(监控和分析系统的性能)
7.mpstat 常用的多核CPU性能分析工具,用来时时查询每个CPU的性能指标
yum install sysstat
mpstat -P ALL 5 查看CPU使用情况
重点:CPU导致的平均负载高,而不是磁盘IO等问题,因为IOwait 为0
iowait高 idle 空闲少 ,IO高
8.pidstat 常用的进程性能分析工具,实时查看CPU 内存 IO以及上下文切换等性能指标
pidstat -u 5 1
查看某个进程的CPU使用率
1.磁盘情况:
https://www.cnblogs.com/maomaochong123/p/8094233.html
iostat -d -k 1 10 #查看TPS和吞吐量信息(磁盘读写速度单位为KB)
iostat -d -m 2 #查看TPS和吞吐量信息(磁盘读写速度单位为MB)
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await) iostat -c 1 10 #查看cpu状态
2.网卡IO
https://blog.csdn.net/dujian996099665/article/details/72621371/
sar命令参数很多,有时间man一下。
-n参数很有用,他有6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套 接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。我们现在要用的就是-n DEV了。
输入命令:sar –n DEV 1 4
命令后面 1 4 意思是:每一秒钟取一次值,取四次。
IFACE:LAN接口
rxpck/s:每秒钟接收的数据包
txpck/s:每秒钟发送的数据包
rxbyt/s:每秒钟接收的字节数
txbyt/s:每秒钟发送的字节数
rxcmp/s:每秒钟接收的压缩数据包
txcmp/s:每秒钟发送的压缩数据包
rxmcst/s:每秒钟接收的多播数据包
networkCard=eth0
IN1=$(cat /proc/net/dev | grep $networkCard | sed 's/:/ /g' | awk '{print $3}')
OUT1=$(cat /proc/net/dev | grep $networkCard | sed 's/:/ /g' | awk '{print $11}')
sleep 60
IN2=$(cat /proc/net/dev | grep $networkCard | sed 's/:/ /g' | awk '{print $3}')
OUT2=$(cat /proc/net/dev | grep $networkCard | sed 's/:/ /g' | awk '{print $11}')
#IN=`echo "scale=2;$IN2 - $IN1" | bc `
IN=`expr $IN2 - $IN1`
#OUT=`echo "scale=2;$OUT2 - $OUT1"| bc `
OUT=`expr $OUT2 - $OUT1`
echo '""||'$1'||"IN"||'${IN}\\n'""||'$1'||"OUT"||'$OUT