KwaiAppTeam / KOOM

KOOM is an OOM killer on mobile platform by Kwai.
Other
3.15k stars 420 forks source link

请问Fast dump可以适配android U吗?当前U上dump hprof全为0KB #259

Closed xnfreedom closed 4 months ago

xnfreedom commented 9 months ago

如题, Fast dump可以适配android U吗?当前U上dump hprof全为0KB 多谢!!!

zefengsysu commented 9 months ago

适配中

waruqi commented 9 months ago

因为 adnroid 12 以上在 fork 的子进程里面,调用 DumpHeap ,里面的 ScopedSuspendAll 会卡死,得做些处理

https://cs.android.com/android/platform/superproject/main/+/main:art/runtime/hprof/hprof.cc;drc=78f3c72e8948087352788997a70854dee613352c;l=1604

zefengsysu commented 9 months ago

因为 adnroid 12 以上在 fork 的子进程里面,调用 DumpHeap ,里面的 ScopedSuspendAll 会卡死,得做些处理

https://cs.android.com/android/platform/superproject/main/+/main:art/runtime/hprof/hprof.cc;drc=78f3c72e8948087352788997a70854dee613352c;l=1604

是用 koom 验证的吗?当前的实现上有在 fork 前 unlock art::Locks::mutatorlock 避免死锁的;之前本地测试没有复现卡死的情况

waruqi commented 9 months ago

因为 adnroid 12 以上在 fork 的子进程里面,调用 DumpHeap ,里面的 ScopedSuspendAll 会卡死,得做些处理 https://cs.android.com/android/platform/superproject/main/+/main:art/runtime/hprof/hprof.cc;drc=78f3c72e8948087352788997a70854dee613352c;l=1604

是用 koom 验证的吗?当前的实现上有在 fork 前 unlock art::Locks::mutatorlock 避免死锁的;之前本地测试没有复现卡死的情况

不是 koom 验证的,不过我看 mutatorlock 这个好像目前 koom 里面目前只对 S 以下这么处理么,更高版本没处理么

https://github.com/KwaiAppTeam/KOOM/blob/a5430e2db995fb67435936bb2bddf1b42f690578/koom-fast-dump/src/main/cpp/hprof_dump.cpp#L108C30-L108C47

zefengsysu commented 9 months ago

因为 adnroid 12 以上在 fork 的子进程里面,调用 DumpHeap ,里面的 ScopedSuspendAll 会卡死,得做些处理 https://cs.android.com/android/platform/superproject/main/+/main:art/runtime/hprof/hprof.cc;drc=78f3c72e8948087352788997a70854dee613352c;l=1604

是用 koom 验证的吗?当前的实现上有在 fork 前 unlock art::Locks::mutatorlock 避免死锁的;之前本地测试没有复现卡死的情况

不是 koom 验证的,不过我看 mutatorlock 这个好像目前 koom 里面目前只对 S 以下这么处理么,更高版本没处理么

https://github.com/KwaiAppTeam/KOOM/blob/a5430e2db995fb67435936bb2bddf1b42f690578/koom-fast-dump/src/main/cpp/hprof_dump.cpp#L108C30-L108C47

KOOM 现在上层代码限制了只支持到 S,实际直接放开版本限制本地测试 Android 13 14 也能跑,还在做兼容性验证中

waruqi commented 9 months ago

嗯,放开后可以

ryan-ppy commented 8 months ago

因为 adnroid 12 以上在 fork 的子进程里面,调用 DumpHeap ,里面的 ScopedSuspendAll 会卡死,得做些处理 https://cs.android.com/android/platform/superproject/main/+/main:art/runtime/hprof/hprof.cc;drc=78f3c72e8948087352788997a70854dee613352c;l=1604

是用 koom 验证的吗?当前的实现上有在 fork 前 unlock art::Locks::mutatorlock 避免死锁的;之前本地测试没有复现卡死的情况

不是 koom 验证的,不过我看 mutatorlock 这个好像目前 koom 里面目前只对 S 以下这么处理么,更高版本没处理么 https://github.com/KwaiAppTeam/KOOM/blob/a5430e2db995fb67435936bb2bddf1b42f690578/koom-fast-dump/src/main/cpp/hprof_dump.cpp#L108C30-L108C47

KOOM 现在上层代码限制了只支持到 S,实际直接放开版本限制本地测试 Android 13 14 也能跑,还在做兼容性验证中

您好,请问这里有具体发布日期了吗?如果直接基于现在的KOOM版本放开Android版本限制,会有很多兼容性问题吗? 谢谢!

Xinmeng322 commented 8 months ago

你的邮件已收到。

zefengsysu commented 8 months ago

因为 adnroid 12 以上在 fork 的子进程里面,调用 DumpHeap ,里面的 ScopedSuspendAll 会卡死,得做些处理 https://cs.android.com/android/platform/superproject/main/+/main:art/runtime/hprof/hprof.cc;drc=78f3c72e8948087352788997a70854dee613352c;l=1604

是用 koom 验证的吗?当前的实现上有在 fork 前 unlock art::Locks::mutatorlock 避免死锁的;之前本地测试没有复现卡死的情况

不是 koom 验证的,不过我看 mutatorlock 这个好像目前 koom 里面目前只对 S 以下这么处理么,更高版本没处理么 https://github.com/KwaiAppTeam/KOOM/blob/a5430e2db995fb67435936bb2bddf1b42f690578/koom-fast-dump/src/main/cpp/hprof_dump.cpp#L108C30-L108C47

KOOM 现在上层代码限制了只支持到 S,实际直接放开版本限制本地测试 Android 13 14 也能跑,还在做兼容性验证中

您好,请问这里有具体发布日期了吗?如果直接基于现在的KOOM版本放开Android版本限制,会有很多兼容性问题吗? 谢谢!

快手已经在实际上线验证中。之前灰度的经验,Android 13 14 不会有明显兼容性问题

zhylclover commented 5 months ago

因为 adnroid 12 以上在 fork 的子进程里面,调用 DumpHeap ,里面的 ScopedSuspendAll 会卡死,得做些处理 https://cs.android.com/android/platform/superproject/main/+/main:art/runtime/hprof/hprof.cc;drc=78f3c72e8948087352788997a70854dee613352c;l=1604

是用 koom 验证的吗?当前的实现上有在 fork 前 unlock art::Locks::mutatorlock 避免死锁的;之前本地测试没有复现卡死的情况

不是 koom 验证的,不过我看 mutatorlock 这个好像目前 koom 里面目前只对 S 以下这么处理么,更高版本没处理么 https://github.com/KwaiAppTeam/KOOM/blob/a5430e2db995fb67435936bb2bddf1b42f690578/koom-fast-dump/src/main/cpp/hprof_dump.cpp#L108C30-L108C47

KOOM 现在上层代码限制了只支持到 S,实际直接放开版本限制本地测试 Android 13 14 也能跑,还在做兼容性验证中

您好,请问这里有具体发布日期了吗?如果直接基于现在的KOOM版本放开Android版本限制,会有很多兼容性问题吗? 谢谢!

快手已经在实际上线验证中。之前灰度的经验,Android 13 14 不会有明显兼容性问题

请问现在使用的灰度使用的版本号是多少啊,什么时候可以对外开放,目前看release版本是在2.2.1还是限制在31及以下

zefengsysu commented 4 months ago

https://github.com/KwaiAppTeam/KOOM/releases/tag/v2.2.2 2.2.2 版本已经发布,fast dump 支持已经放开到 Android 34(Android 14)