SmartTrim - The first smart virtual memory trimmer

Started by Jeremy Collake, December 23, 2014, 11:03:24 AM

Previous topic - Next topic

Jeremy Collake

Yes, it can still tell the foreground process. At least as long as you aren't running the governor as a service, then it's blind.

That CPU setting (background vs foreground precedence) is entirely unrelated.
Software Engineer. Bitsum LLC.

Autumner

I think SmartTrim causes this side effect/bug: I've disabled logging  ("Logging enabled" unchecked) but when something SmartTrim-related occurs, the log is enabled and written again (only SmartTrim entries I believe) - PL Pro 7.8.0.1

Jeremy Collake

Quote from: Autumner on January 16, 2015, 09:30:29 PM
I think SmartTrim causes this side effect/bug: I've disabled logging  ("Logging enabled" unchecked) but when something SmartTrim-related occurs, the log is enabled and written again (only SmartTrim entries I believe) - PL Pro 7.8.0.1

Thanks, that *is* a bug - I'll be sure it gets fixed.
Software Engineer. Bitsum LLC.

Autumner

Thank you Jeremy. I now see that it logs everything, including SmartTrim operations even with SmartTrim disabled.

Jeremy Collake

Thanks, it's a medium priority item for me. I'll report back <24 hours.
Software Engineer. Bitsum LLC.

Keefa

Looks like SmartTrim is enabled regardless of any of the options. I tried not touching any of the settings after a fresh install, leaving the SmartTrim disabled as it is by default. While all the settings show SmartTrim as disabled, according to the log, SmartTrim is still trimming. I'd quite like it not to do that unless I've enabled the feature. That's on the latest public beta available.

Jeremy Collake

Yes, I am fixing this today. Sorry for the trouble and brief delay in fix.
Software Engineer. Bitsum LLC.

Jeremy Collake

Note that there are two distinct beta version issues here.

1. SmartTrim always logs, even if logging disabled.
2. SmartTrim is ON, when it should be OFF.

Of course, these are the usual kinds of issues you might encounter with our BETA versions (for any readers). The final version has no such bugs.

Both will be fixed by today's beta. I had some curveballs come at me, so beta dev got delayed a few days. I'm catching up quick though. The last beta was mostly a reissue with the 'automatic update check not enabled by default' fix (meaning first-time users weren't getting update notifications), which was a critical item. I had to backport that fix to the last final, and to do that I had to be very cautious and deliberate, check every changed line of code, test, etc... It was a real pain. This was an easy to miss bug in legacy code though, a team of 20 could have missed it with ease. This is part of why we're refactoring Lasso piece by piece. There may be bumps in the road, but the final product will be superior. We believe in the PC, and are invested in improving software offerings for it.

p.s. If you're curious, I discovered the update checks not enabled by default issue, it was not a user report. I take some solace in that, too. We found it.
Software Engineer. Bitsum LLC.

Jeremy Collake

Quote from: Jeremy Collake on January 25, 2015, 09:03:20 AM
Note that there are two distinct beta version issues here.

1. SmartTrim always logs, even if logging disabled.
2. SmartTrim is ON, when it should be OFF.

Both fixed as of v7.9.1.3 beta, which I'm moving towards upload in the next hour or so.
Software Engineer. Bitsum LLC.

PL

Hello all, first post from a new paid PL user here (although I was aware of the program previously)

Is it counter-productive to have SmartTrim with the "Let ST decide when to act.." option enabled for a casual user ? (no heavy gfx/audio processing or anything like that, usually)

I have 8gb ram available and never seem to run into lack of memory problems - I have set aside 6gb of that for a dynamically sized Ram Disk, still no issues.

Using SSD drives with no prefetching/Superfetch.

So, my question is whether ST would be applicable under these circumstances - I am quite happy to leave it enabled if it can only help rather than hinder, even if it rarely kicks in.

Jeremy Collake

I would leave it disabled unless you have RAM constraints, which you indicate you don't. That's why it defaults to disabled.

Unlike other companies, I'm not going to lie and tell you that it should be used under all circumstances.

That SAID, the SmartTrim algorithm is intelligent enough to not do any harm if it *is* enabled. Thus, the 'Smart' part :). So, you'll be fine on or off.

Software Engineer. Bitsum LLC.

PL

Thankyou.

In that case, if it`s not detrimental or has any effect on uneccessary swap file action, I`ll leave it on   :)

Jeremy Collake

Sounds good. The one caveat I'll add is that this is just iteration #1 in v7.8.

The full rendition of SmartTrim will be in 8.0. There, you'll have more control over its parameters, so can make sure it never interferes (talking about edge/rare cases), and will better know when and why it operates (trims).
Software Engineer. Bitsum LLC.

PL

Excellent, I like the way I can just "ignore" it and it does what it needs to do without any worries and knowing everything`s kept "on the level" in the background.

I`ll be looking into all the options in depth when I have more time but it doesn`t seem to be necessary to do so, it`s pretty much set & forget if you want it that way.

5 days in now with v7.9.3.1 x64 and no apparent issues at all.

Jeremy Collake

Cool, I'm headed back into product dev (business dev, web services, marketing, and other hats had me distracted)...

Look for beta updates next few days, fast and furious.
Software Engineer. Bitsum LLC.

Jeremy Collake

The smarttrim logging even though logging disabling should have been fixed a while back in a beta, fwiw. Forgot to mention it here.
Software Engineer. Bitsum LLC.

Autumner

I'm having the same problem with logging, on my x86 PC. Logging is disabled in the options but it's filled with the same entry: SmartTrim No Action - No action was taken because the RAM load is less than the configured threshold. (PL Pro 8.0.6.4 32 bit)

Jeremy Collake

#67
This is something I am fixing today. Should be a few hours at most until next beta build. In the interim, you can disable that specific log event type.

And it is different from the original report, fwiw. Not the same bug.
Software Engineer. Bitsum LLC.

Jeremy Collake

I've now fixed this second case of a SmartTrim log event seeping through in v8.0.7.3 beta, but it hasn't yet been validated. This build will be available in a few minutes.

Although the fix is most likely efficacious, the underlying cause is a failure to communicate a configuration change to the SmartTrim thread, something we are still investigating.
Software Engineer. Bitsum LLC.

Autumner

Thanks for the fixes. It seems it occurs much less now but still seeing some entries (PL Pro 8.1.0.0 x64).

Jeremy Collake

Hmm, that's odd. I'll investigate further. There is something wrong in the inter-thread synchronization with the configuration, apparently. I had used the registry as a secondary backup of the 'no logging' option, making me ask next: Do you have any registry cleaners in use?
Software Engineer. Bitsum LLC.

edkiefer

I am not seeing this , but maybe its a specific smarttrim setting , maybe post your smarttrim settings/options .
Bitsum QA Engineer

edkiefer

Quote from: edkiefer on June 14, 2015, 07:52:22 PM
I am not seeing this , but maybe its a specific smarttrim setting , maybe post your smarttrim settings/options .
looks like I am getting this even with log off .
Going to see if pin down cause .
Bitsum QA Engineer

Jeremy Collake

Are either of you running the governor as a service?
Software Engineer. Bitsum LLC.

Autumner

I've left SmartTrim settings at their default, not using the governor as a service and every now and then I use registry cleaners. Usually CCleaner and AVG PC TuneUp.

Jeremy Collake

CCleaner has been known to delete Process Lasso's HKCU registry key, though it was supposed to have been fixed. That would cause this intermittent failure. Since I used an HKCU registry value as a double-check of the INI setting, the registry could be written to after that value was deleted, but before it was re-created the next time the INI configuration file is reloaded. That is the only plausible theory I have.

However, as you can see, the 'fix' I made was to work-around an apparent deeper issue with the configuration synchronization between the SmartTrim thread's logger module instance and the rest of the system, so that's what I need to diagnose more carefully.
Software Engineer. Bitsum LLC.

culinary

#76
hi, i have a question regarding smarttrim related settings and its triggers:

after manually turning on smart trim, there's two settings by default--trim every 15 minutes in "periodic times trim" and 65% for "never act until RAM load exceeds". I'm curious, does this default setting mean trim will only kick in when *both* criteria match? (i.e. using 65% or more RAM load *AND* only when triggered every 15 minutes) Or, will it trim every 15 minutes, *and also* every time when 65% or more memory is used? Couldn't find helpful documentation via help, so this is my first time accessing forum  ;D

anyhow, amazing addition especially for users like me whose company mandatory security software bloat which does nothing (so cpu use is almost none) but sucks up immense memory (like 1gb one time I checked) sits on work pc but cannot choose to kill it either. such software needs to slim down but using conventional ram optimizer (other software...) will slow down my running processes every time it runs so I kind of gave up on running more programs...maybe until now.

culinary

just adding to my post above:
for myself, I am not a big fan of trimming memory unless it bars me from launching a program so i'd like to configure it to run *only* when my memory is running out(so 65% or more as set by default), whether it be 15 minutes or every time it needs to is less of a concern. i hope i could learn how to tweak it to do such.

edkiefer

#78
Quote from: culinary on July 06, 2015, 04:11:29 AM
hi, i have a question regarding smarttrim related settings and its triggers:

after manually turning on smart trim, there's two settings by default--trim every 15 minutes in "periodic times trim" and 65% for "never act until RAM load exceeds". I'm curious, does this default setting mean trim will only kick in when *both* criteria match? (i.e. using 65% or more RAM load *AND* only when triggered every 15 minutes) Or, will it trim every 15 minutes, *and also* every time when 65% or more memory is used? Couldn't find helpful documentation via help, so this is my first time accessing forum  ;D

anyhow, amazing addition especially for users like me whose company mandatory security software bloat which does nothing (so cpu use is almost none) but sucks up immense memory (like 1gb one time I checked) sits on work pc but cannot choose to kill it either. such software needs to slim down but using conventional ram optimizer (other software...) will slow down my running processes every time it runs so I kind of gave up on running more programs...maybe until now.
Hi,  how it works is this .
the trim interval is just that, it will check and trim ever 15min, or whatever you set , if your settings (see advanced config settings) don't trigger any trims then, nothing happens .

The two threshold triggers are if your ram usage goes above the 65% mark and you have processes using more than "min process working set " ,then a trim will happen.
If neither of above are met , then no trim happens at each trim interval .
These adjustments are under advanced configurations smartTrim settings .

Hope this helps understand better , also make sure all smartTrim logs are enabled to better see how it works, at least in beginning, 

What you can do, this depends on how much memory in your system and the app you run .
You can set top slider to like 65-85% and then set second slider (min processes working set ...) to a value greater than small app use, this adjustment fine tunes when trim will happen on a process/app at the the usage mark threshold you chose .
Bitsum QA Engineer

Jeremy Collake

As Ed said, yes *all* criteria must match, the interval is just how often it will even check for the system for matching criteria to initiate a trim.
Software Engineer. Bitsum LLC.

culinary

Thank you. so just like I wanted it to be!
In fact, I'm yet to enable and take a look at the log but over last day or so working with my pc it indeed seem to smooth out ram usage as my system ram load gradually arose then smoothed out over time without system slowdown like it used to. all that without process switch hickups often brought by other software and such :)

Jeremy Collake

Great to hear!

Yes, an important part of SmartTrim was making sure it did no harm to performance, unlike other RAM optimizers that simply bludgeon all processes.

The same is true of ProBalance, we always keep 'do no harm' in mind, sort of like doctors ;).
Software Engineer. Bitsum LLC.

BenYeeHua

I still like to enable SmartTrim only if I has a SSD, so if the data is stored in the Page File, reading the Page File will not slowing down the responsiveness of computer too much. ;)

And ya, Chrome Canary has supported paging the background tabs into Page File(in chrome:flags), it may working better than using software to trim it? :)

edkiefer

I have it enabled even though in normal use it never gets triggered with settings I use (defaults are fine for me) .
I have tested it with more aggressive settings (low % values and memory per process ) and have not noticed any degradation from it like I have seen in past with many memory turbo types apps (big like 10+yrs ago ).
Even tested BF4 and let it trim BF4 while playing , I figured this would show some stuttering, long texture loading etc , but didn't notice anything .

So overall I say it pretty safe from performance point ,but again, memory is there to be used so set the values smartly according to system memory amount and applications used , along with how you multitask .
Bitsum QA Engineer

BenYeeHua

Yes, it also depend on the software how to reading the memory.

For the QQ(chat software), it is reading the msg one by one, so it will causing stutter while doing that.
Lucky they disabled the Trim feature in their newer version of QQ, so it is no longer happen, until I am extract some file or updating game. :)

Of cause if there are some software like this running, then just exclude it from SmartTrim. ;)
---
And ya, I think Windows also improved Page File and also TRIM(for user that running software that hitting the RAM limit), that's why many user using newer windows, and notice less lag are happening now. ;)

Phil

This question may have been stated and answered but I'll like to know which process/processes are trimmed? I checked the log and it only states that the Processgovernor.exe trimmed # amount of processes but not which process/processes. Is there a option to view it?

edkiefer

right below that listing in log there should be action logs of "trim" with name of process that got trimmed .

Maybe enable all log options in view but it should show .
Bitsum QA Engineer

Phil

Quote from: edkiefer on September 26, 2015, 04:16:56 PM
right below that listing in log there should be action logs of "trim" with name of process that got trimmed .

Maybe enable all log options in view but it should show .

Finally figured it out... just type "trim" on log search box to find out which process has been trimmed.

Autumner

Quote from: Autumner on May 13, 2015, 04:38:34 AM
I'm having the same problem with logging, on my x86 PC. Logging is disabled in the options but it's filled with the same entry: SmartTrim No Action - No action was taken because the RAM load is less than the configured threshold. (PL Pro 8.0.6.4 32 bit)

This exact problem has recently re-appeared, even though the log entries are few. (PL Pro 9.0.0.455 x64)

edkiefer

Quote from: Autumner on July 24, 2018, 07:15:31 PM
This exact problem has recently re-appeared, even though the log entries are few. (PL Pro 9.0.0.455 x64)
So you have logging in general disabled but are still seeing the "no action was taken because the ram load is less than the configured threshold".
That is strange, I am on 9.0.0.455 x64 an all is fine.

Try toggling the logging enable option and also make sure you don't have log option "no action was taken because the ram load is less than configured threshold".
I really don't see this as being useful once you have it set up on your system.
Bitsum QA Engineer

Autumner

Yes, unchecking "Log SmartTrim no action taken events" seems to solve this (haven't seen any log entries yet), although the logic is still wrong because logging is supposed to be globally disabled for all sub-categories. Anyway, not really a problem.