Alexey Avramov
Alexey Avramov
Seems like `total` always grows. How we can use it?
https://youtu.be/YYJ9Af8Syyg demo with PSI
Eureka! avg = (total2 - total1) / time Now I need test it.
avg = (total1 - total0) / (time1 - time0) / 10000 It works. Good news: it can works very quick and reacts if swapping starts. http://okturing.com/src/5628/body (in this output avg10...
I will try this settings: $SIGTERM_AVG = 60 $AVG_TIME = 1 I want to give the user to choose any minimum amount of time for which AVG is calculated
http://okturing.com/src/5636/body avg1 monitor (or monitor for any time, change avg_min_time) example of output with not very quick memhogging http://okturing.com/src/5637/body ``` avg time: 1.0 PSI mem avg: 0.0 some avg10=2.67 avg60=5.62...
nohang output with avg3 http://okturing.com/src/5638/body
sigterm_psi = 60 sigkill_psi = 95 avg_min_time = 4 psi_min_sleep_time_after_action = 16 output: ``` MemAvail: 1589 M, 79.8 % | SwapFree: 732 M, 100.0 % MemAvail: 1391 M, 69.9 %...
I saw false positives even if avg_min_time = 4 and psi_min_sleep_time_after_action = 20. IMHO avg10 is now the safest for default using. `total` need testing
``` PSI mem some avg10: 0.0 | MemAvail: 235 M, 11.8 % | SwapFree: 731 M, 99.9 % PSI mem some avg10: 0.0 | MemAvail: 165 M, 8.3 % |...