开源软件名称(OpenSource Name):KwaiAppTeam/KOOM开源软件地址(OpenSource Url):https://github.com/KwaiAppTeam/KOOM开源编程语言(OpenSource Language):C++ 77.0%开源软件介绍(OpenSource Introduction):KOOMAn OOM killer on mobile platform by Kwai. 中文版本请参看这里 IntroductionKOOM creates a mobile high performance online memory monitoring solution,which supplies a detailed report when OOM related problems are detected, and has solved a large number of OOM issues in the Kwai application. It's currently available on Android. With the increasing complexity of mobile terminal business logic and the gradual popularity of scenarios with high memory requirements such as 4K codec and AR magic watch, the OOM problem has become the number one problem in the stability management of the Kuaishou client. In the daily version iteration process, OOM surges occasionally occur, and the online environment is very complicated. There are thousands of AB experiments. Pre-prevention and post-recovery cannot be achieved. Therefore, high-performance online memory monitoring solutions are urgently needed. So how should OOM governance be built? At present, KOOM has the capability of monitoring leakage of Java Heap/Native Heap/Thread, and will build multi-dimensional and multi-business scenarios monitoring in the future. FeaturesJava Leak Monitor
Native Leak Monitor
Thread Leak Monitor
STL SupportAll Native modules support two access modes, c++_shared and c++_static. For details, please refer to cpp-support.
dependencies {
// In shared mode, multiple modules share the same libc++_shared.so (STL), and the package
// size is small, but when multiple modules depend on different STL versions, the final
// compilation will conflict. For example, you might get "dlopen failed: cannot locate symbol
// "__emutls_get_address" referenced by" errors.
implementation "com.kuaishou.koom:koom-java-leak:${latest_version}"
// Or in static mode, each module has its own STL, the package size is large, and there are no
// compilation and runtime problems.
implementation "com.kuaishou.koom:koom-java-leak-static:${latest_version}"
// If you depend on multiple modules, the shared and static modes cannot be mixed.
// The following way is wrong, remember!
implementation "com.kuaishou.koom:koom-java-leak-static:${latest_version}"
implementation "com.kuaishou.koom:koom-monitor-base:${latest_version}"
}
packagingOptions {
// Select the first libc++_shared.so when packaging apk, it may encounter unpredictable bugs
// at runtime, use it with caution!
pickFirst 'lib/*/libc++_shared.so'
} minSdk
<uses-sdk tools:overrideLibrary="com.kwai.koom.fastdump, com.kwai.android.base, com.kwai.koom.base" /> LicenseKOOM is under the Apache license 2.0. For details check out the LICENSE. Change LogCheck out the CHANGELOG.md for details of change history. ContributingIf you are interested in contributing, check out the CONTRIBUTING.md FeedbackWelcome report issues or contact us in WeChat group. |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论