首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏wOw的Android小站

    使用bootchart分析开机数据

    Mac安装Bootchart 下载 通过下面链接下载bootchart源码:bootchart-0.9.tar.bz2 安装 解压缩,因为是ant构建的,需要安装ant brew install ant 进入源码目录,执行 ant 目录会生成bootchart.jar 使用 然后手机开启Bootchart的过程最终会生成bootchart.tgz的文件,这个文件就是要处理的源文件,通过下面命令,可以在当前目录生成 java -jar bootchar.jar /path/to/bootchart.tgz Android开启Bootchart 在旧版Android中(6.0之前版本)需要修改一些文件,重新编译 现在的Android系统已经配置好bootchart,只需要做以下操作就可以启动: //在data/bootchart/目录中新建start文件 adb shell 'touch /data/bootchart 系统脚本在 AOSP/system/core/init/grab-bootchart.sh。我把脚本放在前面bootchart源码目录中,然后做了一些修改以适应我的开发环境。 #!

    2.3K20发布于 2020-01-20
  • 来自专栏鸿蒙开发笔记

    OpenHarmony标准系统开机时长优化

    OpenHarmony 标准系统默认集成了bootchart,下面介绍如何使用bootchart 工具来获取开机性能数据及生成性能图片:(1) 开机完成后,运行 hdc_std shell(2) 运行 begetctl bootchart enable(3) 运行 reboot 或者断电重启(4) 运行 begetctl bootchart stop(5) 运行 begetctl bootchart /bootchart/目录下执行命令:tar -czf bootchart.tgz *(9) 将bootchart.tgz 导出到本地磁盘上(10) hdc_std file recv /data/bootchart /bootchart.tgz ./(11) 生成开机性能图片 java -jar bootchart.jar bootchart.tgz上面的bootchart.jar 需要下载源码去编译生成或者下载他人已经编译好的 源码下载地址 https://sourceforge.net/projects/bootchart/ 。下图为 bootchart 生成的 OpenHarmony性能可视化视图。

    51120编辑于 2025-04-29
  • 来自专栏linux驱动个人学习

    Linux启动时间优化-内核和用户空间启动优化实践

    进程状态分析 bootchart对进程状态分析依赖于/proc/xxx/stat节点获取的信息,包括进程开始执行时间和终止时间,以及在此过程中的状态变化。 通过start_time可以确定进程的起始时间,然后不同时间的state确定进程在bootchart中的状态,ppid可以确定进程的父子关系,在bootchart中有虚线连接。 中进程状态解释 在bootchart中显示的进程状态是从每个进程的/proc/x/stat中获取并解析的。 SwapTotal: 0 kB SwapFree: 0 kB ... 2.3.6 bootchart对CPU占用率分析 bootchart通过保存/proc/stat信息,来记录CPU的使用率问题 在bootchart图表中,CPU=user+system,所以将内核时间分为三类,和内核时间的关系如下。

    1.7K30编辑于 2023-07-09
  • 来自专栏Android Framework

    Android Automotive Framework调试技巧

    Bootchart性能工具使用方式 参考性能分析工具—bootchart工具使用 bootchart是一个用于linux启动过程性能分析的开源工具软件,在系统启动过程中自动收集CPU占用率、磁盘吞吐率 Android系统源码中有bootchart的实现,路径在system/core/init/bootchart.cpp中, bootchart通过内嵌在init进程中实现,在后台执行测量。 , 再执行tar -zcf bootchart.tgz *, 接着adb pull /data/bootchart/bootchart.tgz到本地,拷贝到ubuntu ubuntu机安装bootchart 工具:sudo apt-get install bootchart和sudo apt-get install pybootchartgui 生成bootchart图表:bootchart bootchart.tg 修改bootchart抓取的停止时间 android高版本上不支持简单的设置方式调整bootchart的结束时间,只能在init.rc中修改,bootchart的启动和结束方式如下: # Start

    6.6K12编辑于 2022-12-22
  • 来自专栏韦东山嵌入式

    全志 Linux 系统启动优化 启动优化速度方式 优化启动流程 优化uboot 优化kernel等

    文章目录 1 概述 2 启动速度优化简介 2.1 启动流程 2.2 测量方法 2.2.1 printk time 2.2.2 initcall_debug 2.2.3 bootgraph. 2.2.4 bootchart 2.2.4 bootchart bootchart是一个用于linux启动过程性能分析的开源软件工具,在系统启动过程自动收集CPU 占用率、进程等信息,并以图形方式显示分析结果,可用作指导优化系统启动过程 bootchartd会从/proc/stat,/proc/diskstat,/proc/[pid]/stat中采集信息,经 过处理后保存为bootchart.tgz文件。 转换图片。 在PC上通过pybootchartgui.py工具将bootchart.tgz转换为bootchart.png, 方便分析。 注:此方法主要用来测量挂载文件系统到主应用程序启动过程中的耗时。 id=fast_boot_example [3] https://github.com/tbird20d/grabserial [4] http://www.bootchart.org [5] A Framework

    4.9K30编辑于 2022-12-28
  • 来自专栏LINUX阅码场

    宋宝华:当Linux内核遭遇鲨鱼—kernelshark

    Linux界有一个杀手级分析Linux本身启动慢的工具,叫做bootchart,它其实把启动过程中进程的IO,CPU占用情况进行了描述。 bootchart确实有利于分析开机过程,但是你平时某个软件启动慢呢?或者更广泛地说,某个特定过程特别慢呢?或者更加更加广泛地说,我写的程序在系统里面是怎么在运行,几个线程怎么在跑?

    2.2K31发布于 2020-09-10
  • 来自专栏韦东山嵌入式

    Tina_Linux_启动优化_开发指南

    1 概述 2 启动速度优化简介 2.1 启动流程 2.2 测量方法 2.2.1 printk time 2.2.2 initcall_debug 2.2.3 bootgraph. 2.2.4 bootchart 2.2.4 bootchart bootchart是一个用于linux启动过程性能分析的开源软件工具,在系统启动过程自动收集CPU 占用率、进程等信息,并以图形方式显示分析结果,可用作指导优化系统启动过程 bootchartd会从/proc/stat,/proc/diskstat,/proc/[pid]/stat中采集信息,经 过处理后保存为bootchart.tgz文件。 转换图片。 在PC上通过pybootchartgui.py工具将bootchart.tgz转换为bootchart.png, 方便分析。 注:此方法主要用来测量挂载文件系统到主应用程序启动过程中的耗时。 id=fast_boot_example [3] https://github.com/tbird20d/grabserial [4] http://www.bootchart.org [5] A Framework

    1.3K60编辑于 2023-02-24
  • 来自专栏全栈程序员必看

    linux生成initramfs,Linux启动过程与initramfs

    dracut内置模块默认不会添加至initramfs中,可以在/etc/dracut.conf或/etc/dracut.conf.d/xxx.xonf中添加,也可以使用–add选项 # dracut –add bootchart initramfs-bootchart.img 查看所有可用的dracut模块 # dracut –list-modules 忽略(不添加)模块 用于精简initramfs,同样可以在配置文件(man

    5.2K20编辑于 2022-09-22
  • 来自专栏Android 源码

    Android Installd 分析

    kMax = std::numeric_limits<std::size_t>::max(); static const Map builtin_functions = { {"bootchart_init ", {0, 0, do_bootchart_init}}, {"chmod", {2, 4, do_chmod

    1.1K00发布于 2019-04-15
  • 来自专栏深入理解Android

    Android Framework学习(一)之init进程解析

    kMax = std::numeric_limits<std::size_t>::max(); static const Map builtin_functions = { {"bootchart_init ", {0, 0, do_bootchart_init}}, {"chmod", {2, 2, do_chmod 应该是进行性能数据采样 bootchart_sample(&timeout); epoll_event ev; //没有事件到来的话,最多阻塞timeout时间 int || (process_needs_restart == 0)) { process_needs_restart = next_start_time; } } Bootchart BootChart 包含数据收集工具和图像产生工具。数据收集工具在原始的BootChart中是独立的shell程序,但在Android中,数据收集工具被集成到了init 程序中。

    2.1K30编辑于 2022-06-22
  • 来自专栏Android 源码

    Android Installd 分析

    \_t kMax = std::numeric\_limits<std::size\_t>::max(); static const Map builtin\_functions = { {"bootchart \_init", {0, 0, do\_bootchart\_init}}, {"chmod", {2, 4,

    1.2K00发布于 2019-04-15
  • 来自专栏韩曙亮的移动开发专栏

    【Android 逆向】Android 系统文件分析 ( 根目录下的目录和文件 | /data/ 应用和用户数据目录 | /mnt/ 挂载其它设备目录 )

    product storage vendor 查看各个目录的详细信息 : 二、data 应用和用户数据目录 ---- data 目录 是 应用和用户数据目录 ; adb bootchart

    1.8K10编辑于 2023-03-29
  • 来自专栏Android补给站

    Android Linux Zygote启动

    :max(); // clang-format off static const BuiltinFunctionMap builtin_functions = { {"bootchart ", {1, 1, {false, do_bootchart}}}, {"chmod", {2,

    1.7K20发布于 2020-12-14
  • 来自专栏振兴的Android修炼手册

    Android逆向第一步之开启root权限

    .: Permission denied➜ ~ adb shell dipper:/ $ su :/ # cd data cd data :/data # ls ls adb bootchart

    3.1K00编辑于 2022-08-20
  • 来自专栏嵌入式开发圈

    Android init language与init.rc初始化脚本

    > 21 22on property:sys.powerctl=* 23 <command> 常用的Commands有: //参考system/core/init/keywords.h 1bootchart_init

    1.6K40发布于 2019-07-04
  • 来自专栏全栈程序员必看

    Android加密之全盘加密

    mkdir /data/bootchart 0755 shell shell bootchart_init .....

    3.2K30编辑于 2022-08-27
  • 来自专栏debugeeker的专栏

    最后防线:Linux系统服务检测

    usr/lib/systemd/system/kdump.service /usr/lib/systemd/system/systemd-bootchart.service

    1.6K20发布于 2021-03-02
  • 来自专栏吴小龙同學

    AOSP 源码整编单编

    指定按键设置文件名 -shell-serial <device> 根shell 的个性化设备 -old-system 支持旧版本(pre 1.4)系统镜像 -tcpdump <file> 把网络数据包捕获到文件中 -bootchart

    3K20发布于 2019-12-11
  • 来自专栏Android 研究

    Android系统启动——3init.rc解析

    mkdir /data/bootchart 0755 shell shell bootchart_init # Avoid predictable entropy pool. 下面对所有的命令进行下讲解 bootchart_init:初始化bootchart,用于获取开机过程的系统信息 chmod <octal-mode> <path>:改变文件的权限 chown <owner

    6.8K21发布于 2018-08-30
  • 来自专栏张师傅的博客

    一些可以显著提高 Java 启动速度方法

    在 Linux 中有一个杀手级的工具 bootchart 来分析 linux 内核启动的问题,它把启动过程中所有的 IO、CPU 占用情况都做了详细的划分,我们可以很清楚的看到各个时间段,时间耗在了哪里

    2.7K30编辑于 2022-12-05
领券