-
Notifications
You must be signed in to change notification settings - Fork 37
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OOM with Excessive Memory Usage During Git Repository Import #238
Comments
Upon analysis, it seems that the system, not having a swap partition, resorts to invoking the OOM killer when faced with high memory usage, leading to the termination of running programs. If sufficient memory cannot be freed, the system kills the active processes. The current hypothesis is that this issue stems from poor memory control management during decoding Pack files. As a result, I am planning to rewrite this portion of the code to handle memory usage during decoding better. |
I want to thank @Ivanbeethoven sincerely for their significant contribution to the project. Specifically, separating the Delta algorithm from the Pack encoding/decoding process is a remarkable improvement, as accomplished in pull requests #246 and #249. The separation of concerns achieved through this refactoring not only enhances the readability and maintainability of the code but also opens up possibilities for reuse and extension in other areas of the project. I am excited about the potential application of this approach in the 'MDA' project in the feature through #202. |
Signed-off-by: Quanyi Ma <[email protected]>
Refactoring the core of Mega #238
Signed-off-by: Quanyi Ma <[email protected]>
Refactoring the git internal #238
…undation#238 Signed-off-by: Quanyi Ma <[email protected]>
Refactoring the hash to SHA1, add comments and test case #238
…dation#238 Signed-off-by: Quanyi Ma <[email protected]>
Signed-off-by: Quanyi Ma <[email protected]>
Decode the pack file and not convert to objects yet #238
Signed-off-by: Quanyi Ma <[email protected]>
Add signature check when decode pack files #238
Signed-off-by: Quanyi Ma <[email protected]>
Refactoring the HashCounter to Wrapper #238
Signed-off-by: Quanyi Ma <[email protected]>
Refactoring the impl Pack to decode and utils #238
Signed-off-by: Quanyi Ma <[email protected]>
Refactoring the object types #238
Signed-off-by: Quanyi Ma <[email protected]>
Signed-off-by: Quanyi Ma <[email protected]>
Add object type in pack decode func and from_bytes for blob #238
Signed-off-by: Quanyi Ma <[email protected]>
Add CacheOjbect and Caches in decode pack file #238
Add limited mem size and tmp file path for caches #238
I am writing to report an issue I encountered while using Mega to import a Git repository. The repository in question is
https://github.com/AFLplusplus/qemu-libafl-bridge.
During the import process, I noticed that Mega was consuming excessive memory while parsing Pack files. This high memory usage ultimately triggered the Linux system's Out-Of-Memory (OOM) killer, resulting in the termination of the Mega process.
So that you know, the system I am using has 16GB of RAM. Under idle conditions, it typically has around 13GB of available memory. Before this incident, no specific optimizations were applied to the system or Mega settings.
The text was updated successfully, but these errors were encountered: