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

网站项目开发流程图wordpress标签查看id

网站项目开发流程图,wordpress标签查看id,网站开发工资,多样化的网站建设公司火焰图简介火焰图是一种性能分析的可视化工具,它将CPU的调用栈(Call Stack)信息以矩形火焰的形式展现出来。Y轴:代表调用栈的深度(函数A调用了函数B,B就叠在A上面)。X轴:代表CPU的抽…

火焰图简介

火焰图是一种性能分析的可视化工具,它将CPU的调用栈(Call Stack)信息以矩形火焰的形式展现出来。

  • Y轴:代表调用栈的深度(函数A调用了函数B,B就叠在A上面)。

  • X轴:代表CPU的抽样次数。一个函数在X轴上占据的宽度越长,就代表它(或它调用的子函数)消耗的CPU时间越多。

我们的目标就是找到那些又宽又平的“火焰山顶”,它们就是CPU占用过高的元凶。

流程一:准备工作 (安装工具与依赖)

我们需要安装 perf 工具、从GitHub上下载火焰图的生成脚本,并且为了分析内核函数,还需要安装内核的调试符号。

1.安装 perf 工具

在 CentOS 7 上:

sudo yum install perf -y

在 Ubuntu 上:

sudo apt update
sudo apt install linux-tools-common linux-tools-$(uname -r) -y

2.安装内核调试符号 (非常关键!) 没有这个,您在火焰图里看到的内核函数名将是一堆看不懂的内存地址。

在 CentOS 7 上:

首先需要启用debuginfo仓库:

sudo yum install -y yum-utils
sudo debuginfo-install --enablerepo=base-debuginfo kernel-$(uname -r)

如果找不到,可能需要编辑 /etc/yum.repos.d/CentOS-Debuginfo.repo 文件,将 enabled=0 改为 enabled=1

在 Ubuntu 上:

需要添加一个专门的ddebs仓库:

# 此处以
sudo tee /etc/apt/sources.list.d/ddebs.list << EOF
deb http://ddebs.ubuntu.com/ $(lsb_release -cs) main restricted universe multiverse
deb http://ddebs.ubuntu.com/ $(lsb_release -cs)-updates main restricted universe multiverse
deb http://ddebs.ubuntu.com/ $(lsb_release -cs)-proposed main restricted universe multiverse
EOFsudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C8CAB6595FDFF622
sudo apt update
sudo apt install linux-image-$(uname -r)-dbgsym -y

3.下载火焰图生成脚本 这是由性能大神Brendan Gregg开发的Perl脚本集。

# 安装 git
sudo yum install git -y  # CentOS
# sudo apt install git -y   # Ubuntugit clone https://github.com/brendangregg/FlameGraph.git
cd FlameGraph

(这些是Perl脚本,Linux系统通常已自带Perl解释器,无需额外安装)

流程二:采集性能数据

现在,我们使用 perf 来记录一段时间内系统范围的CPU调用栈信息。

检查权限设置(可选) 查看 perf_event_paranoid 的设置,如果值大于1,可能会限制非root用户使用perf。我们用sudo运行,通常没问题。

cat /proc/sys/kernel/perf_event_paranoid

执行 perf record 命令复现CPU占用过高的场景时,执行以下命令,让它在后台采集60秒的数据。

# -F 99: 以99赫兹的频率采样CPU(避免与系统定时器同步)
# -a: 采集所有CPU
# -g: 记录调用图(调用栈)
# --call-graph dwarf: 使用DWARF格式记录调用栈,对内核函数分析更准确
# sleep 60: 让perf持续采集60秒。在这60秒内,您需要尽量让问题复现。
sudo perf record -F 99 -ag --call-graph dwarf -- sleep 60

命令执行结束后,当前目录下会生成一个名为 perf.data 的文件,这就是我们的原始数据。

流程三:生成火焰图

我们使用FlameGraph目录下的两个脚本,分两步处理 perf.data 文件。

折叠调用栈 (Collapse Stacks) 此步骤将 perf 的输出转换成火焰图脚本认识的格式。

# 确保您当前在 FlameGraph 目录下
sudo perf script | ./stackcollapse-perf.pl > out.perf-folded

执行后会生成一个 out.perf-folded 文件。

生成SVG火焰图 这是最后一步,将折叠后的数据渲染成一个可交互的SVG图片。

./flamegraph.pl out.perf-folded > kernel_cpu.svg

执行后,您会得到一个名为 kernel_cpu.svg 的文件。这就是最终的火焰图!

流程四:交互式分析

查看火焰图 将生成的 kernel_cpu.svg 文件从虚拟机中下载到您本地的电脑上(可以通过Termius的SFTP功能或scp命令)。然后,用您的网页浏览器(如Chrome或Firefox)打开它。

如何解读与交互

看宽度:火焰图从下往上看。最底层的 all 代表总采样。越往上,函数调用栈越深。任何一层,一个函数方块的宽度代表了它在CPU上出现的时间占比。我们的目标就是寻找那些顶层“又宽又平”的山顶(plateau)

看颜色:颜色本身没有特殊含义,只是为了区分不同的函数。

交互-悬停:将鼠标悬停在任何一个方块上,浏览器左下角会显示完整的函数名、采样占比等详细信息。

交互-点击这是最重要的交互! 当您点击任何一个方块时,整个火焰图会以此方块为顶层进行“缩放”,让您能清晰地看到是哪些子函数导致了这个函数的CPU占用。您可以层层深入,探究问题的根源。

分析内核态CPU占用过高时,您需要重点关注那些函数名中带有 [k] 标记、或者名字是内核API(如copy_page, ext4_, tcp_, schedule, kvm_等)的宽大方块。 通过点击它们,您就能追溯出是哪个系统调用路径导致了大量的内核CPU消耗。

http://www.dtcms.com/a/484564.html

相关文章:

  • 百度站长平台验证网站google官网入口手机版
  • 怎么增加网站的反链wordpress 新浪图片
  • 网站功能表多语言建站系统
  • 网站域名空间租用合同app营销推广方案
  • 邯郸哪儿能做网站家具企业网站建设
  • 更合网站设计网站建设公式
  • 光明区建设局网站中国商标注册查询
  • 做价值投资有哪些网站注册有限公司需要什么条件多少钱
  • 域名备案的网站建设书网站建设有哪种方式
  • 西安做网站哪里好用rem做移动网站
  • 营销网站四大要素拍卖 网站 建设
  • wordpress 付费剧集网站wordpress系统是什么
  • Xshell效率实战:SSH管理秘籍大纲
  • 石家庄网站建设需要多少钱与铁路建设相关的网站
  • 云南澄江县建设局网站给浏览器加速的加速器
  • 35开始学网站开发创意产品设计网
  • 锦州网站建设渠道平面设计公司起名
  • 公司网站宣传聊天软件开发妙招
  • 成都网站维护公司个人网站页面
  • 西安专业网站建设公司网络服务合同法律规定
  • 电子商务c2c网站功能找天津网站建设公司做个网站多少钱
  • 哪个做简历的网站可以中英的工程建设分为哪几个阶段
  • 长春网站设计平台建设微网站项目报告
  • 衡水建设公司网站男科医院网站建设
  • 网站seo排名wordpress 家庭照片
  • 简单医院网站简约大气网站设计欣赏
  • 沈阳网站设计外包网页设计注意哪些内容
  • 网站 风格个人简历电子版免费
  • 网站建设管理情况自查报告苏州搜索引擎优化
  • 上海做网站公司做网站的公司wordpress 主题 英文版