当前位置: 首页> 汽车> 时评 > 如何建设网站步骤_东莞最近有什么新闻_百度seo引流怎么做_人员优化是什么意思

如何建设网站步骤_东莞最近有什么新闻_百度seo引流怎么做_人员优化是什么意思

时间:2025/7/12 2:05:44来源:https://blog.csdn.net/qq_24622489/article/details/144697469 浏览次数: 0次
如何建设网站步骤_东莞最近有什么新闻_百度seo引流怎么做_人员优化是什么意思

文章目录

  • 嵌入式设备常用性能和内存调试指令
    • 内存问题分析
    • 性能测试
      • android设备通过NDK 使用SimplePerf 抓取火焰图
      • 嵌入式linux抓取特定进程的perf火焰图
    • 杂记

嵌入式设备常用性能和内存调试指令

内存问题分析

安装valgrind,按照如下指令执行应用程序:

valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all --undef-value-errors=no --log-file=log ./可执行程序名

结束以后可以查看当前路径下的log文件分析是否存在内存泄漏。

性能测试

android设备通过NDK 使用SimplePerf 抓取火焰图

  1. 确认python版本是3.10+, 下载并解压NDKhttps://googledownloads.cn/android/repository/android-ndk-r26d-linux.zip
  2. 抓取指定进程的perf.data
cd android-ndk-r26d\simpleperf
python app_profiler.py --pid <pid> -o perf.data  -r "-f 1000 --call-graph dwarf -e cpu-cycles -g --duration 3"

注意: 这里 是要抓取perf数据的进程pid,–duration 3 里的3指的是抓取3秒,可以自己调整.
3. 生成perf的html文件

python report_html.py -i perf.data -o perf.html
  1. 修改 HTML 文件
    生成的perf.html的头是国外网址,国内可能无法打开,使用下面的头替换perf.html的头内容即可。
<html><head><link rel="stylesheet" type="text/css" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.1.2/css/bootstrap.min.css"></link>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.19/css/dataTables.bootstrap4.min.css"></link>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.1.2/js/bootstrap.min.js"></script>
<script src="https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.19/js/dataTables.bootstrap4.min.js"></script>
<script src="https://www.gstatic.com/charts/loader.js"></script>
<script>google.charts.load('current', {'packages': ['corechart', 'table']});</script>
<style type="text/css">.colForLine { width: 50px; }.colForCount { width: 100px; }.tableCell { font-size: 17px; }.boldTableCell { font-weight: bold; font-size: 17px; }</style>
</head>
<body><script>

嵌入式linux抓取特定进程的perf火焰图

进入嵌入式设备执行如下指令:

sudo perf record -e branch-misses --call-graph fp -s -T --sample-cpu -F 100 -p <target_pid> \-o /tmp/perf.data --all-user -g -- sleep <duration>
perf script -i /tmp/perf.data > /tmp/perf.unfold

注意:target_pid 为目标进程的pid, duration为抓取的时间

这样会在单板的/tmp路径下面生成perf.dataperf.unfold文件

然后将这两个文件拉取到PC本地,然后使用本地的perf仓库工具生成火焰图:

    ./perf/FlameGraphTools/FlameGraph/stackcollapse-perf.pl  ./perf.unfold > perf.folded./perf/FlameGraphTools/FlameGraph/flamegraph.pl  ./perf.folded > perf.svg

这样就可以得到火焰图perf.svg

杂记

使用sshpass免输入密码操作scp和ssh:

sshpass -p <password> ssh root@198.168.31.12
sshpass -p <password> scp root@198.168.31.12:/tmp/perf.unfold .

password 为的登陆密码。

关键字:如何建设网站步骤_东莞最近有什么新闻_百度seo引流怎么做_人员优化是什么意思

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: