Syrupy icon indicating copy to clipboard operation
Syrupy copied to clipboard

RSS size should be used for sorting processes instead of VIRT, when doing poll_mem

Open sankouski-dzmitry opened this issue 4 years ago • 1 comments

In my vision, poll_mem is mostly used to determine, where your physical RAM leaks. VIRT memory doesn't show physical RAM occupation. To get process physical memory occupation, we should use RES memory.

To clearly illustrate, here is part of the log, showing chrome memory consumption:

PID         DATE      TIME      ELAPSED    CPU    MEM       RSS     VSIZE       CMD
12049   2021-09-08  17:16:57        00:01   24.0    0.4    135376  38186116  /opt/google/chrome/chrome --type=renderer --enable-automation --enable-logging --log-level=0 --remote-debugging-port=0 --test-type=webdriver --allow-pre-commit-input --field-trial-handle=9868597751347894126,1640417613699088952,131072 --disable-gpu-compositing --enable-blink-features=ShadowDOMV0 --lang=en-US --user-data-dir=/tmp/.com.google.Chrome.aFUGnx --disable-client-side-phishing-detection --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=7 --no-v8-untrusted-code-mitigations --shared-files=v8_context_snapshot_data:100

This chrome process was spawned by selenoid, when running UI autotests. As you can see, it mapped ~38GB of virtual memory (which is more that I have RAM on a server). On the other hand, it occupies only ~136MB of RAM. There's also other similar cases.

I think, a solution may be to give a choice for user, which memory to use for process sorting. Also default would be logical to change to RSS, IMHO.

sankouski-dzmitry avatar Sep 09 '21 09:09 sankouski-dzmitry

Change line 302: pinfoset = sorted(pinfoset, key=lambda v: int(v['rss']), reverse=True)[:top_mem]

mimmus avatar Aug 05 '24 14:08 mimmus