oom triggered when run dsync
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 200
- Forks
- 85
- Avg merge
- 3d 21h
- Merged PRs (30d)
- 2
Description
When running dsync for large amount of files, but small memory configuration, OOM triggered.
Normally we need to use add more memory or use more nodes to avoid OOM, but it's not always possible to some users, because of the limitation of hardware equipments or some other.
Though we can use cgroup (add launched threads into cgroup) to prevent other threads from OOM killer, but doesn't make much sense to dsync, because it really needs such lot of memory to move forward.
I was thinking about adding option to flush the generated metadata flist to storage/disk rather keeping them in the memory, and read them back at the real sync/copy phase, but not quite sure if it works or not.
@adammoody @dinatale2 do you have any better ideas for this issue?
Thanks
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the dsync execution path, especially where the generated metadata flist is built and later consumed during synchronization or copying. Reproduce the OOM with many files and a small memory configuration, then determine whether a disk-backed flist approach is feasible; done should include successful synchronization without exhausting available memory.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- cli, performance
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100