加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 服务器 > 搭建环境 > Windows > 正文

Linux问题故障定位,看这一篇就够了

发布时间:2019-04-02 18:21:01 所属栏目:Windows 来源:Lucien_168
导读:副标题#e# 1. 背景 有时候会遇到一些疑难杂症,并且监控插件并不能一眼立马发现问题的根源。这时候就需要登录服务器进一步深入分析问题的根源。那么分析问题需要有一定的技术经验积累,并且有些问题涉及到的领域非常广,才能定位到问题。所以,分析问题和踩

DEMO:

  1. #include <stdio.h> 
  2. #include <stdlib.h> 
  3.  
  4. void foo3() 
  5.  
  6. void foo2() 
  7.   int i; 
  8.   for(i=0 ; i < 10; i++) 
  9.        foo3(); 
  10.  
  11. void foo1() 
  12.   int i; 
  13.   for(i = 0; i< 1000; i++) 
  14.      foo3(); 
  15.  
  16. int main(void) 
  17.   int i; 
  18.   for( i =0; i< 1000000000; i++) { 
  19.       foo1(); 
  20.       foo2(); 
  21.   } 

DEMO火焰图:

9.4.2 off-CPU

CPU过低,利用率不高。等待下一轮CPU,或者等待I/O、锁、换页等等,其状态可以细分为可执行、匿名换页、睡眠、锁、空闲等状态。

使用方式:

  1. // off-CPU user 
  2. sh ngx_off_cpu_u.sh pid 
  3.  
  4. //进入结果目录 
  5. cd ngx_off_cpu_u 
  6.  
  7. //off-CPU kernel 
  8. sh ngx_off_cpu_k.sh pid 
  9.  
  10. //进入结果目录 
  11. cd ngx_off_cpu_k 
  12.  
  13. //开一个临时端口8088 
  14. python -m SimpleHTTPServer 8088 
  15.  
  16. //打开浏览器输入地址 
  17. 127.0.0.1:8088/pid.svg 

官网DEMO:

9.5 内存级别火焰图

如果线上程序出现了内存泄漏,并且只在特定的场景才会出现。这个时候我们怎么办呢?有什么好的方式和工具能快速的发现代码的问题呢?同样内存级别火焰图帮你快速分析问题的根源。

使用方式:

  1. sh ngx_on_memory.sh pid 
  2.  
  3. //进入结果目录 
  4. cd ngx_on_memory 
  5.  
  6. //开一个临时端口8088 
  7. python -m SimpleHTTPServer 8088 
  8.  
  9. //打开浏览器输入地址 
  10. 127.0.0.1:8088/pid.svg 

官网DEMO:

9.6 性能回退-红蓝差分火焰图

你能快速定位CPU性能回退的问题么? 如果你的工作环境非常复杂且变化快速,那么使用现有的工具是来定位这类问题是很具有挑战性的。当你花掉数周时间把根因找到时,代码已经又变更了好几轮,新的性能问题又冒了出来。主要可以用到每次构建中,每次上线做对比看,如果损失严重可以立马解决修复。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读