当 chrome 在 Android 中进行一些页面加载工作时,我需要获取一些 js heap/GC 信息。我按照运行 chromium with flags的说明进行操作。我添加了这样的标签:
adb shell: echo chrome --no-sandbox --js-flags=\"--logfile=/data/local/tmp/v8.log --noprof-lazy --prof_auto --trace_gc\"> /data/local /content-shell-命令行
但是,当通过“chrome://version”检查命令行时,我发现添加标志失败。我试图将文件修改为 /data/local/chrome-command-line 然后它工作。
但是,在数据收集之后(在 chrome 28 和 chrome 29 beta 上),我发现在 Android logcat 和 v8.log 中没有收集到 gc/heap 详细信息(它只是显示了 gc 所用的滴答数及其所占的比例蜱)。
当使用带有 --tace_gc 标签的 d8 时,它可以在标准输出中给出以下输出。因此,理想情况下,运行带有 flag:"--tace_gc" 的 chrome 应该给出相同的输出。
13040] 35009 毫秒:标记扫描 66.4 (78.6) -> 41.7 (74.5) MB,1 / 28.6 毫秒(自标记开始以来 202 步中 + 123.9 毫秒,最大步长 1.1 毫秒)[StackGuard GC 请求] [旧 GC要求的空间]。
[13040] 35089 毫秒:清除 45.7 (74.5) -> 41.8 (74.5) MB,0.6 毫秒 [运行时::PerformGC]。
[13040] 35171 毫秒:清除 45.8 (74.5) -> 42.0 (74.5) MB,0.6 毫秒 [运行时::PerformGC]。
[13040] 35279 毫秒:清除 46.0 (74.5) -> 42.5 (74.5) MB,2.7 毫秒 [运行时::PerformGC]。
[13040] 35359 毫秒:清除 46.1 (74.5) -> 42.6 (74.5) MB,3.3 毫秒 [运行时::PerformGC]。
我不确定我在设置标志时是否遗漏了什么或犯了任何错误,有人可以帮忙吗?非常感谢。