当前位置: 首页 > wzjs >正文

快速开发网站的应用程序爱企查企业服务平台

快速开发网站的应用程序,爱企查企业服务平台,成都微信小程序定制开发公司,腾讯企业邮箱网址文章目录 可能的原因程序设计的BUG系统资源问题恶意软件硬件问题 通常步骤一个简单的问题代码在windows平台上如何排查Windows Process ExplorerWinDBG 在Linux平台如何排查使用TOP GDBPerf 可能的原因 程序设计的BUG 有死循环低效算法与数据结构滥用自旋锁频繁的系统调用&a…

文章目录

  • 可能的原因
    • 程序设计的BUG
    • 系统资源问题
    • 恶意软件
    • 硬件问题
  • 通常步骤
  • 一个简单的问题代码
  • 在windows平台上如何排查
    • Windows Process Explorer
    • WinDBG
  • 在Linux平台如何排查
    • 使用TOP + GDB
    • Perf

可能的原因

程序设计的BUG

  • 有死循环
  • 低效算法与数据结构
  • 滥用自旋锁
  • 频繁的系统调用,导致用户态与内核态频繁切换

系统资源问题

  • 内存不足,系统频繁使用硬盘交换分页

恶意软件

  • 后台运行的病毒或流氓软件或自动更新的软件

硬件问题

  • 散热不良
  • 硬件老化

通常步骤

  1. 找到问题的进程
  2. 找到问题的线程
  3. 找到问题的代码位置
  4. 分析原因

一个简单的问题代码

#include <iostream>
#include <thread>
#include <vector>void busy_task() 
{while(true) {}
}void slow_algorithm() 
{for (auto i = 0L ; i < 1000000000L; ++i){volatile auto x = i * i;}
}int main()
{std::vector<std::thread> threads;threads.emplace_back(busy_task);threads.emplace_back(slow_algorithm);for(auto& t: threads){t.join();}return EXIT_SUCCESS;
}

程序以DEBUG模式编译成fst0.exe 与 fst0.pdb

在windows平台上如何排查

Windows Process Explorer

需要借助工具WindowsProcessExplorer
fst0.exe 在运行中
以管理员权限运行ProcExp,切记32 位的fst0.exe 要用32位的ProcExp,64位的fst0.exe要用64位的ProcExp
过滤出目标同时打开线程窗口
在这里插入图片描述

可以看到占用CPU过高的线程
在这里插入图片描述
我们需要设置符号文件路径
在这里插入图片描述

在这里插入图片描述
32位的程序用32位的pdb符号文件路径,64位的程序用64位的pdb符号文件路径
然后右键点击线程中的调用堆栈
在这里插入图片描述
在这里插入图片描述
可以清晰的看到程序是卡在busy_task那个函数上了!

WinDBG

怎么安装WinDbg这里就跨过,使用WinDbg时要切记,32位的程序使用32位的WinDbg调试,同时要使用32位pdb文件,64位的程序使用64位的WinDbg调试,同时要使用64位的pdb文件WinDbg最好用管理员权限打开
先行设置好符号路径与源码路径
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

现在Fst0.exe 已经在运行当中了,使用WinDbg来附加到进程,
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
看到这里WinDbg执行 int 3 软中断暂停了进程。

在这里插入图片描述

在Command里面执行!runaway看看各个线程的执行时间,可以看到4号线程执行时间最长
可以看看4号线程的调用堆栈
在这里插入图片描述
可以明显看到卡在了busy_task 函数,点击后面的蓝色链接可以看到源码
在这里插入图片描述

在Command里面使用qd命令退出调试

更多关于WinDBG的知识请上网自行搜索学习

在Linux平台如何排查

使用TOP + GDB

先以Debug模式编译出fst0

g++ -g fst0.cc -o fst0 -lpthread

然后运行 fst0
然后使用top
在这里插入图片描述
可以看到fst0的cpu占用很高
现在知道fst0的进程号是2473,还需要知道fst0的耗时线程是哪个
执行

top -H -p 2473

可以得到线程信息
在这里插入图片描述
可以看到有两个线程,2473主线程号与进程号相同,2474是耗时的那个子线程号
现在需要把2474那个线程的堆栈信息打印出来

sudo gdb -p 2474 -ex "thread apply all bt" -ex "detach" -ex "quit" > stack.log
cat stack.log

在这里插入图片描述
可以清楚看到程序是卡在busy_task函数,fst0.cc 文件的第8行那里。

更多gdb 相关知识自行上网学习。

Perf

perf 是Linux内核提供的性能分析工具。若你需要此工具,安装步骤如下:

# 更新软件包列表
sudo apt update# 安装与当前内核匹配的linux-tools
sudo apt install linux-tools-$(uname -r)# 验证安装
perf --version

编译程序,运行程序,打到程序PID与上面方法相同
使用perf实时查看进程热点,动态显示系统中消耗 CPU 最多的函数或进程

# 全局监控所有进程的热点
sudo perf top# 仅监控指定 PID 的进程
sudo perf top -p <PID>

例子
在这里插入图片描述
清晰的看到耗时函数是哪个


文章转载自:

http://0tUs5buK.sxfnf.cn
http://GmuNYdjy.sxfnf.cn
http://7g8NlNIL.sxfnf.cn
http://D52dDUTW.sxfnf.cn
http://2z8fr4E2.sxfnf.cn
http://0ekwPx4n.sxfnf.cn
http://bx0KIzaJ.sxfnf.cn
http://sB3VfrCF.sxfnf.cn
http://N2Bl9mJB.sxfnf.cn
http://otX2eAlu.sxfnf.cn
http://C2QbyVVF.sxfnf.cn
http://D7bGlGmN.sxfnf.cn
http://IEM6K0gS.sxfnf.cn
http://fvti4MP6.sxfnf.cn
http://Xj5qkTUM.sxfnf.cn
http://S2rmn7y5.sxfnf.cn
http://jeOIlSXM.sxfnf.cn
http://iaPnaG1a.sxfnf.cn
http://VbumvVIA.sxfnf.cn
http://aaiPtJ0d.sxfnf.cn
http://AoaDKNdM.sxfnf.cn
http://i73LoQsL.sxfnf.cn
http://57FLmYuN.sxfnf.cn
http://OoDdJYju.sxfnf.cn
http://qp97pYHJ.sxfnf.cn
http://tJsUcFTh.sxfnf.cn
http://HMyW6kL0.sxfnf.cn
http://EyIEy3Sk.sxfnf.cn
http://qyKGZxsJ.sxfnf.cn
http://3iSHs5lN.sxfnf.cn
http://www.dtcms.com/wzjs/658257.html

相关文章:

  • 长沙网站制作收费明细表17做网站官网
  • 做网络销售哪些网站比较好南昌优化网站排名
  • 恒佳企划网站建设网站备案信息下载
  • 呼市赛罕区信息网站做一顿饭工作如何查找织梦网站后台
  • 服装网站设计策划seo查询百科
  • 阿里巴巴如何建设网站首页素马设计顾问讲解价格
  • 村镇建设年度报表登录网站建设专业网站公司
  • 怎样建立自己的销售网站哈尔滨seo搜索优化公司排名
  • 上海做网站的的公司有哪些大竹县国示建设专题网站
  • 小米wifi设置网址入口网站跨境电商平台排行榜前十名
  • 玉林网站推广网站建设策划书结束语
  • 建设厅电工证查询网站官方网超越时空网上书城网站策划书
  • 云南省建设学校网站wordpress 4.7.3 漏洞
  • wordpress 777权限广东企业网站seo报价
  • 网站开发用美团网站开发形式
  • 兼职网站项目建设报告沈阳网约车公司
  • 自己做键盘的网站上海市建设局官方网站
  • 淘宝优惠群的网站是怎么做佛山公司网站设计
  • 电脑怎么做网站三合一网站怎么建立
  • 俄文网站商城建设域名到期网站
  • 做网站贴吧智慧团建登录不上
  • 邢台市住房和城乡建设局官方网站做网站的常识
  • 建设部网站 合同格式深圳网络营销推广公司哪家好
  • 两学一做专题教育网站明星百度指数排名
  • 一个公司网站备案吗一点优化
  • wordpress基于什么框架手机优化加速有什么用
  • 网站建设 解决方案建设科技网络网站的意义和目的
  • 开发一个网站需要几个人做市级网站需要什么
  • 电商网站怎么推广柳州网站seo优化公司
  • 柳州网站建设22四大门户网站