0

Description:

I have a process that consumes a large amount of memory (+100GB RSS). There's a usage by huge pages, but most of the memory is allocated in a naive way via malloc().

When this process crashes, its parent process restarts it immediately upon receiving SIGCHLD. However, we've observed a significant delay between the crash and the actual execution of the new process instance.

For example:

  • A process with 90GB RSS takes ~6 seconds to restart.
  • A process with 130GB RSS takes ~9 seconds to restart.

This delay is consistent and scales with the memory size of the process.

Questions:

What factors contribute to this delay? Is it related to memory deallocation, kernel cleanup, or something else? Are there ways to reduce this delay and make the restart faster?

OS: Ubuntu 14 Kernel Version: 6.1.21

8
  • how is this process acquiring the memory (reading a file?, generating stuff on the fly) provide details that folks can work with to give focused responses. how long doe it take to start with 1,5,10,..... ? Commented Mar 16 at 13:19
  • What happens during the process execution taking up about the maximum of memory without a crash? What if it takes no less time? The comparison of the execution times for different levels of memory consumption is not correct, as everything depends on what exactly the process does. Commented Mar 16 at 16:44
  • @tiktalk Edited Commented Mar 17 at 5:49
  • @SergeyAKryukov I agree that the process behavior can have an impact. However, my concern is not predicting how long the shutdown will take, but rather that the delay is substantial, and I’m looking for ways to eliminate or reduce it. Commented Mar 17 at 5:54
  • Have you used a profiler? Commented Mar 17 at 6:03

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.