系统性能调优

系统响应时间、系统吞吐量、系统并发量

cpu、内存、IO

 

cpu调优:

linux:性能分析工具

命令: top vmstat pidstat

top(默认每3s刷新一次):显示系统整体的cpu和内存使用情况,以及各个进程的资源使用情况

stat系列(vmstat、iostat、netstat、pidstat、mpstat)

profile工具:定位代码片段(perf、ps)

pstree:用树状形式显示所有进程间的关系

stress 压力测试工具,模拟压力测试场景

 

执行top命令获得过去1min、5min、15min的平均负载(Load Average)

平均负载就是平均活跃进程数(理想的平均负载就是等于cpu的个数,但是在生产环境中高于CPU数量70%就要进行排查负载高的问题)

 

用户(%user)、Nice(%nice)、系统(%system)、等待IO(%iowait)、中断(%irq)、软中断(%softirq)、

用户cpu和nice cpu比较高:说明用户态进程占用了较多的cpu,应该着重排查进程的性能问题

系统cpu较高,说明内核态占用了较多cpu,应该着重排查内核线程和系统调用的性能问题

软中断和硬中断比较高,说明软中断和硬中断的处理程序占用了较多的cpu,应该着重排查内核中的中断服务程序

 

系统变慢的原因:cpu上下文切换过多、某个进行占用的cpu资源高、某个线程io读取缓慢

cpu上下文切换数一般正常在几百到一万

自愿上下文切换变多,说明进程都在等待资源,有可能IO产生了问题

非资源上下文切换变多,说明进程在被强制调度,都在争抢cpu,cpu性能成了瓶颈

 

进程的pid在不断变化,说明进程在不停的重启(可能是短时进程,也可能是进程启动出错后被重启启动)

 

内存调优:

 

IO调优:

系统性能调优

上一篇:关于二进制补码


下一篇:PAT Basic 1005 继续 (3n+1) 猜想