服务器性能学习笔记

1、到底怎么理解平均负载?(平均活跃进程数)
运行状态、不可中断状态的的平均进程数。
使用cpu、等待cpu、等待io的进程数 。
ps -aux中R 和 D状态的进程。
grep "model name" /proc/cpuinfo |wc -l ######物理机核心数
平均负载高于逻辑cpu的70%,要考虑排查分析性能问题。

CPU密集型:cpu使用率高,负载也会高。
IO密集型:cpu使用率不高,等待io会导致负载高。
等待CPU: cpu使用率高,负载也会高。

stress --cpu 1 --timeout 600  ###一个cpu使用率跑100%
watch -d uptime               ###动态看负载
mpstat -P ALL 5               ###每5s输出所有cpu的使用率
pidstat -u 5 1                ###查看哪个进程导致的负载高



stress -i 1 --timeout 600  ####模拟IO压力 ,不停执行sync
watch -d uptime               ###动态看负载
mpstat -P ALL 5               ###每5s输出所有cpu的使用率
pidstat -u 5 1                ###查看哪个进程导致的负载高


stress -c 80 --timeout 600  ####模拟多进程80个进程
watch -d uptime               ###动态看负载
mpstat -P ALL 5               ###每5s输出所有cpu的使用率
pidstat -u 5 1                ###查看哪个进程导致的负载高

  

1、上下文切换是什么意思?
进程竞争CPU的时候并没有运行,为什么负载还很高?上下文切换就是罪魁祸首。
CPU上下文切换:(寄存器和程序计数器PC)
CPU上下文切换分为三种:1、进程上下文切换 2、线程上下文切换 3、中断 上下文切换。
用户态到内核态的转变:系统调用open()、read()、write()、close()
一次系统调用是2次cpu上下文切换。
进程上下文切换是一个进程 切换到另一个进程。
系统调用,是同一个进程。
系统调用是特权模式切换,不是上下文切换,cpu上下文切换还是无法避免的。
优先级最高和等待CPU运行时间最长的进程运行。
进程的时间片耗尽、资源不足 、sleep()将自己挂起、优先级高的先执行、硬件中断。上下文切换性能问题的幕后真凶。
线程是调度的最小单位,进程是资源拥有的最小单位。
硬件的 中断处理比进程有高的的优先级。

  

pidstat -w 5 
自愿上下文切换:
无法获取所需资源导致的上下文切换。

非自愿上下文切换:
时间片已到,被系统强制调度,进而发生的上下文切换。

sysbench --threads=40 --max-time=300 threads run
vmstat 3
pidstat  -wt 2
watch -d cat /proc/interrupts

  

##################################################
1、CPU使用率100%,我该怎么办?
内核的节拍率:
grep 'CONFIG_HZ=' /boot/config-2.6.32-573.el6.x86_64

perf top
perf record
perf report

perf top -g -p  [进程号] #查找cpu使用率高的函数
###################################################
1、CPU使用很高,找不到高的应用。
pstree |grep stress         ###runing状态,进程总是重启
pert top   ###找不到cpu高的应用,可能是短时应用导致。
execsnoop  工具可以查到

  

1、CPU使用率100%,我该怎么办?
内核的节拍率:
grep 'CONFIG_HZ=' /boot/config-2.6.32-573.el6.x86_64

perf top
perf record
perf report

perf top -g -p  [进程号] #查找cpu使用率高的函数
###################################################
1、CPU使用很高,找不到高的应用。
pstree |grep stress         ###runing状态,进程总是重启
pert top   ###找不到cpu高的应用,可能是短时应用导致。
execsnoop  工具可以查到
##################################################
1、系统出现大量不可中断进程和僵尸进程怎么办?
dstat 1 10
不可中断,D状态的进程。
top
ps aux
pidstat  -d  1 20
strace -p [进程号]

  

posted on 2020-09-17 15:36  星期六男爵  阅读(81)  评论(0编辑  收藏  举报

导航