opsengine/cpulimit

cpulimit is "stopping" the script, but it continue in the background and send data to the stdout

vstoykovbg opened this issue · 5 comments

Here is how it looks like: https://www.youtube.com/watch?v=LN_DjgREXjU

CPUlimit version 2.4

++ We have been facing exactly same issue in our implementation

Would request the maintainers to provide some light on this issue

++ We have been facing exactly same issue in our implementation

Would request the maintainers to provide some light on this issue

@opsengine @urdh @HelderMagalhaes @praetp

Here is how it looks like: https://www.youtube.com/watch?v=LN_DjgREXjU

CPUlimit version 2.4

Took a look at the video – it is the approach which seems quite flawed:

  1. Searching for script name in process list - if the process forks, it's no longer assured command line (and even process name) will be kept.
  2. The script is polling, meaning you may skip a number of events which occur in between "scans" (i.e., aliasing).

😐

++ We have been facing exactly same issue in our implementation

Would request the maintainers to provide some light on this issue

@opsengine @urdh @HelderMagalhaes @praetp

Not a maintainer here but claiming "same issue" is clearly not enough: I'd suggest attaching a clear test case which reproduces (and take a look at the previous comment as input).

🤔

++ We have been facing exactly same issue in our implementation
Would request the maintainers to provide some light on this issue

@opsengine @urdh @HelderMagalhaes @praetp

Not a maintainer here but claiming "same issue" is clearly not enough: I'd suggest attaching a clear test case which reproduces (and take a look at the previous comment as input).

🤔

I will try to see how I can create a workflow that can replicate this in someone else's setup as I cannot share the exact data engineering code which is confidential.
Quick Outline of what I ve been doing :-

  • Created a cpu-monitor service in linux machine utilizing the cpulimit tool
  • It fetches the processes, checks if the CPU usage exceeds a certain threshold it will extract the pid
  • Once we have the pid, we have a certain default threshold pre-defined and enforce it via cpulimit -p $pid -l $default_threshold command
  • This works fine with normal day to day linux processes but our data engineering team notified, when they run a certain process using python script that basically does read/write ops from Apache solr collections , the process shows exactly same output as shown in the video

Letme know if you want the code for the cpu-monitor service