Process Lasso v4 beta series

Started by Jeremy Collake, June 04, 2010, 02:22:47 AM

Previous topic - Next topic

Jeremy Collake

Yes, the v4 beta series exists ;). It is actually v3.89.1 beta, at least for the time being. I am slowly incrementing the version number in accordance with how close I feel I am to the actual v4 beta. Perhaps this versioning methodology is a bit unique, but it works.

This thread will be dedicated to the discussion of this beta. I hope some users will decide to participate in this beta series. The new features will be particularly useful, especially once finalized.

Tonight I released v3.89.1 beta, a massive improvement over the v3.89.0 beta. Soon there will be another beta that will, again, be a massive improvement. Current changes are:

  • Addition.Core: Added option to restart or terminate a livelocked process (restart/terminate process if consuming X% CPU for Y time)
  •  
  • Addition.Core: Added option to restart or terminate a memory leaking process (restart/terminate process if consuming X% of VM for Y time)
  •  
  • Addition.Core: Added feature to disable ProBalance after system has been idle X minutes
  •  
  • Addition.Core: Added Emergency Stall Recovery feature which will take highly aggressive action if system responsiveness drops below a certain threshold for too long. The difference between ERS and ProBalance is that ERS is much more aggressive, acting on anything (i.e. even the foreground process, which would be ignored by ProBalance in its default settings)
  •  
  • Addition.Core: Added log entry indicating if restoration of a ProBalance process occurred to due maximum restraint time reached
  • Addition.GUI: Added facilitating ProBalanace settings for new feature to disable ProBalance when PC idle
  •  
  • Addition.GUI: Added facilitating settings for overloaded (livelock or memory leak) process handling
  •    
  • Addition.GUI: Show maximum CPU frequency in status bar
  •  
  • Addition.GUI: Added an exception handler to allow users the option to continue or restart Process Lasso after an exception (in some locations)
  • Addition.GUI: Added greeting message the first time you 'close' the GUI to the system tray, informing that the GUI is down there sleeping
  •  
  • Addition.GUI: Added all facilitating menu items and dialogs for Emergency Stall Recovery
  • Addition.CPUEater: Added new affinity selection, to test CPU Eater or specific CPUs
  •  
  • Addition.CPUEater: Added new total processes and threads in status bar
  •  
  • Change.CPUEater: Re-arranged dialog
  •  
  • Change.CPUEater: Allow specification of maximum threads and CPU affinity
  •  
  • Change.CPUEater: Tweaks to default aggressiveness (was unnecessarily aggressive on single CPU systems)
  •  
  • Change.CPUEater: Added status bar
  •  
  • Change.CPUEater: Added total system process and thread count to status bar
  • Change.GUI: Re-arranged configuration dialogs to cause less confusion with pressing 'OK' without adding the process to the list first
  • Change.GUI: Remove UAC shield from 'manage processes of all users', as it hid check state
  •  
  • Change.GUI: Removed PL logo from ProBalance settings to make room for new options
  •  
  • Change.GUI: Tweaks to single and multiple process selection context menus
  • Change.GUI: Added menu options for quickly setting 'disable ProBalance while user away' feature
  • Change.GUI: Added total system thread count to status bar (with existing total process count)
  • Removal.GUI: Removed 'beep when' settings from the ProBalance configuration dialog to make space for new, more important features
  • Change.Core: Change to default ProBalance settings of Server Edition
  •  
  • Change.Core: Changed default value of 'maximum log lines' to 1000 for a server
  •  
  • Change.Core: Tweaked process suspension and throttling code
  •  
  • Change.Core: Added a hard-coded exclusion for Symantec Endpoint Security since ProBalance on it was triggering tampering warnings
  •  
  • Change.Core: Tweaked Server Edition ProBalance defaults
  •  
  • Change.Core: Minor continued code optimizations, in the never ending pursuit to save another CPY cycle
  •  
  • Change.InstallHelper: Added back ProBalance default settings check to let Server users know of tweaks to default/recommended values
  • Change.Installer: Updated to NSIS 2.46 unicode build
  •  
  •   Changes since last beta version v3.89.0:
  •  
  • Change.GUI: Allow deletion of multiple selected list entries at once on some config dialogs
  • Addition.GUI: Enabled watchdog features on virtual memory
  •  
  • Addition.GUI: Polish watchdog config dialog and fix broken things
  •  
  • Addition.GUI: 'Remove all' buttons now remove multiple selections in many config dialogs
  •  
  • Addition.GUI: Added new top level exception handler for polite automatic restart if a crash were to occur
  • Addition.TestLasso: Added '-m' switch to eat memory indefinitely (for testing watchdog)
  •  
  • Change.GUI.Watchdog: Show/hide extra options when user selects watch/monitor type (CPU or memory at present)
  •  
  • Change.Core: Added duration to watchdog action log entries
  •  
  • Change.CPUEater: Continued cosmetic improvements
  • Changes since last issued public alpha/beta:
  • Addition.GUI: New 'Exclude from' process context menu item/li>
  • Addition.GUI: New process context menu items for MEM and CPU watchdog capabilities
  •  
  • Addition.GUI: Added ability to completely disable log
  •  
  • Addition.GUI: Added menu option to disable log completely/li>
  • Addition.Core: Added core ability to disable log completely
  •  
  • Addition.Core: Created new config group for the optional and seldom recomended foreground boosting options (should migrate old config just fine)
  •  
  • Addition.Core: Added option to run ProcessLasso and ProcessGovernor at less than their default priorities (useful in certain environments)
  • Change.GUI: Removed 'total VM size' from available watchdog memory metrics, as it is not likely to be needed
  •  
  • Change.GUI: Made 'commit charge' default virtual memroy metric for watchdog memory entries
  •  
  • Change.Core: Rewrote large parts of the guts of the new watchdog feature
  • Change.Core: Improved handling of multiple watchdog entries on the same process
  • Change.All: As always, other minor tweaks here and there..
  •  


Software Engineer. Bitsum LLC.

watermelon

The new features look promising and I will be testing them once they are fully implemented. The rule creator for the overload monitoring looks good, though only options are to kill or restart the process seem a little harsh to me. Surely you will add more actions like trimming memory, suspending offending processes and so on later(?)

Will emergency recovery also act on system, the processes named system and otherwise excluded processes - or just regular foreground processes?


A while ago you said something about a portable version and also the ability to switch off logging completely, what happened to those things? Did you not have time yet to work on them or am I looking at the wrong places?

Looking forward to PL 4.0.  :)



**edit**

Just saw your response to the "Portable version?" thread so you don't have to comment on it again. Guess have some catching up to do on the forum.

Jeremy Collake

#2
Thanks ;)

I will describe the new ERS feature soon. For now, it may not work and I don't recommend using it. I have been focusing on the watchdog feature the last two betas. I plan to fix up the ERS feature in the next beta. Please wait for my full public explanation in a few days.

I will add the ability to switch off logging completely, thanks for reminding me. Portable edition is coming too, eventually.







Software Engineer. Bitsum LLC.

Jeremy Collake

#3
I've now implemented the ability to completely disable log, so it will be in the next public build.

Software Engineer. Bitsum LLC.

Jeremy Collake

#4
Another new feature -- run the GUI and core engine at less than their typical priorities. In some situations, this may be desirable.

I also highlighted the new watchdog menu item entry. SO many new features to announce... Whew ;)

This is from the AS YET UNRELEASED v3.89.2 beta:




Software Engineer. Bitsum LLC.

Jeremy Collake

Now v3.99.0 alpha.. Much work remains, but I am working hard.

Software Engineer. Bitsum LLC.

Bruce Fraser

For your information, here is what I reported on the Process Lasso page on TechSupportAlert.com (http://www.techsupportalert.com/content/process-lasso-can-speed-your-windows-pc-automatically.htm):

INITIAL POST
I have installed Process Lasso, and find no noticeable difference. Defragment programs and some security software, which used to completely take over the computer when they ran, still do the same. I open Process Lasso and it accurately reports, "Yep, that program is taking 98% of your CPU time." But it does nothing about it. So what's the point?

This was with the default setting, which is what the documentation advises. "Just let it go, and it will automatically configure itself."

Apparently others have found this to be great; for me, it's useless.

FOLLOWUP POST
So I was finding this program useless. But instead of just whining, I wanted to see if I could help. So I went to the Process Lasso forum, and found there is a beta version I could test.

I uninstalled the present and up-to-date version (3.84), and installed the beta version (3.99.1). What a difference! I ran at the same time BOTH the defragmenter and the security software scanning the system. But this time I was comfortably able to work in other programs, and even switch back and forth between them with little or no hesitation. This is AMAZING!

Jeremy Collake

First, I appreciate you coming here to see if I could help. I would like to ask about the difference in v3.99 behavior. Are there any different/new log entries now? I changed a few default settings, and many other things, but am more importantly curious if Emergency Stall Recovery is kicking in or not.

Some disk defragmentors are excluded from ProBalance restraint because they can be sensitive to priority adjustments. I always play it safe ;o.

I want to be clear, for other readers. You probably already know this. The idea is not to lower CPU use at all. CPU use remains the SAME. It is all a matter of which processes get a couple more cycles. Process Lasso helps ensure your foreground process gets those cycles if it needs them. Therefore, don't expect to see any reduction in total CPU use, even by an offending process. Usually it takes very little CPU to keep the foreground process responsive, so the 'stolen' cycles from the background process may not even add up to 0.5% of the total available.

Process Lasso helps with responsiveness in some cases, but won't help with every case - and I'll be the first to admit that. I'm glad to hear the new alpha does better though ;). I always am trying to make it better. With every update (all million of them ;o), I am improving it.

I hope it continues to perform well. If you have troubles, I (and/or forum users) will help to the extent we can to identify those troubles or help maximize your benefit from Process Lasso.

Software Engineer. Bitsum LLC.

Bruce Fraser

But all is not joy and light in the land of Process Lasso... Here is my feedback about the installation:

1) When I install, I direct the program to a folder of my choosing (as I do with all programs which allow it), rather than the default location. I also chose to include the "Reset" option of components to install. Presumably as a consequence of those actions, I get this message at the end of the installation process:

"Some default settings have changed. Do you want to set default configuration while preserving process defaults, disallowed processes, and other lists? (recommended).
Yes or No?"

Huh? What on earth does that mean in plain language?

In particular, what does "Set default configuration" mean? Does it mean to keep the location I told it, and make that the new "default;" or does it mean to restore the default location?

SUGGESTION: What would happen if that message never appeared, if the installation program just went ahead following the instructions the user just provided? Change the items which the user wanted changed, and leave all the others at their default setting. (You know, the same as virtually every other program on the planet handles installations.) Then, if the user wants to change things once the program is running, they are free to do that in the Options menu (although you'll never catch me going anywhere near that beast -- that place is downright scary!)

The present system just confuses users, probably unnecessarily.

Jeremy Collake

#9
Yea, that message is confusing. It had nothing to do with the install folder you picked. It is talking about ProBalance parameters (like time to restraint, CPU use quotas, etc..). When I tweak the ProBalance settings so that they work better for more people, I want to tell people to change their settings. However, I can't force them to, because some have customized settings. So, I need to rewrite that text. You are not the first to complain. I am not perfect, for sure on that ;o. It will be addressed, right now in fact, before I forget.
Software Engineer. Bitsum LLC.

Jeremy Collake

#10
New text is:

Quote"Bitsum Technologies has recently improved the default ProBalance parameters (settings). Would you like to adopt these new settings? Other settings are not affected. It is recommended you simply click YES unless you have customized the ProBalance parameters."

And, yes, maybe it would be better just to do it, and then tell people I did it.. However, I'd then get some complaints from the minority who do adjust those settings.
Software Engineer. Bitsum LLC.

Bruce Fraser

Quote from: jeremy.collake on June 13, 2010, 11:22:53 PM
I would like to ask about the difference in v3.99 behavior. Are there any different/new log entries now? I changed a few default settings, and many other things, but am more importantly curious if Emergency Stall Recovery is kicking in or not.

Some disk defragmentors are excluded from ProBalance restraint because they can be sensitive to priority adjustments. I always play it safe ;o.

Sorry, I failed to keep log files from the previous setup, so have nothing to offer you.
FYI, the disk defragmenter I use is MyDefrag 4.0. I commend your "play it safe" approach!

And now, to make things even more confusing...
To use the 3.99 alpha/beta version, I first uninstalled version 3.84. After installing and running version 3.99, I realized I had lost my licence (probably from GiveawayOfTheDay.com), and was now considered a trial user. So I restored the image of my program partition which I made after installing Process Lasso, to regain that licence.
    Out of curiosity, I tried running the same test again. Guess what: this time, it works fairly well. Perhaps not quite as silky smooth as with 3.99; but nothing like the molasses I experienced my first time around. I have no explanation for this, and can't really imagine anything, either. Nothing of significance in my setup has changed in the last few weeks.

[And yes, I did notice somewhere in the forum or the main site, something about recovering one's registration. Perhaps that would have been an alternative to restoring an image; but I didn't bother to try that. I went with what I knew worked easily.]

Bruce Fraser

Quote from: jeremy.collake on June 13, 2010, 11:50:38 PM
New text is:

Quote"Bitsum Technologies has recently improved the default ProBalance parameters (settings). Would you like to adopt these new settings? Other settings are not affected. It is recommended you simply click YES unless you have customized the ProBalance parameters."

And, yes, maybe it would be better just to do it, and then tell people I did it.. However, I'd then get some complaints from the minority who do adjust those settings.

This is much better!
In general -- and considering that scary Options menu -- it is very reassuring to users when, upon installation, you repeatedly state "If you're not sure, just click OK for the recommended settings." (or however it's worded, something like that). That is good!

Bruce Fraser

Quote from: jeremy.collake on June 13, 2010, 11:50:38 PM
New text is:

Quote"Bitsum Technologies has recently improved the default ProBalance parameters (settings). Would you like to adopt these new settings? Other settings are not affected. It is recommended you simply click YES unless you have customized the ProBalance parameters."

And, yes, maybe it would be better just to do it, and then tell people I did it.. However, I'd then get some complaints from the minority who do adjust those settings.

Perhaps one little addition to clarify, for the sake of people who are downloading and installing for the first time.

"Note to users who are upgrading to a newer version of Process Lasso: Bitsum Technologies has recently improved..."

Jeremy Collake

#14
Changing system conditions can make it difficult to test any software. You could install it one day and experience totally different results than another day. It just depends on what is going on 'behind the scenes' in the complex environment of your PC.

I appreciate the help and suggestions on the string clarity. I already changed this in v3.84.6. In the past, most of my users were technophiles, but now I am getting users of all types, so have to improve clarity in many areas.

Thanks ;)
Software Engineer. Bitsum LLC.

boco

Hi,

just a quick question: Will Win2k compatibility ever be restored?
Process Lasso Pro with Lifetime updates since 2009-05-14, Entire home since 2010-12-14.

Jeremy Collake

Yes, at least with the latest service pack. In fact, I'm not sure its broken at all - I need to run some tests. It is likely only broken with W2K before the last service pack, if at all.
Software Engineer. Bitsum LLC.

boco

With Win2k, Service Pack 4 (latest) + all updates, I get from 3.99.17beta: "C:\Program Files\Process Lasso\ProcessLasso.exe is not a valid Win32 application." and then "Unable to run this command.".

That's why I asked.
Process Lasso Pro with Lifetime updates since 2009-05-14, Entire home since 2010-12-14.

Jeremy Collake

Ah, thanks for letting me know - I had not gotten to the actual testing yet. I will be sure to test before final release and do what I can. I would hate to cancel support, but will if (and only if) supporting it takes more time than it is worth.
Software Engineer. Bitsum LLC.

BoB

I'll test on my Win2k VM, but it is probably broken just cos of the PE Header OS settings:
Quote from: LordPE
    MajorOperatingSystemVersion:  0x0005
    MinorOperatingSystemVersion:  0x0001  -> 5.01
Try changing that to 4, see if it works again on Win2000 ..

Jeremy Collake

#20
BoB is right, but the PE OS version number is higher than W2K (5.0) because of imports that may or may not exist in W2K ;o. I think they probably do in later service packs and had planned to adjust the PE header and give it a test/evaluation.
Software Engineer. Bitsum LLC.

watermelon

#21
I  kinda missed the .99 series until now and was still with a .89 beta. Anyway I upgraded now and will start testing this version.

A couple of questions, like always:  ;)  Is there an exact list of what features are not enabled in the unpaid version? I didn't activate the beta yet and aside from the one notification on startup I couldn't find another hint what actually works and what not.

Wanting to give the ESR a try, I disabled ProBalance for a moment and fired up CPUEater while having another process performing some I/O, bringing responsiveness to a minimum with even the mouse barely moving. Waiting for 2 minutes without the ESR taking any action, is that because my version is not activated or is the ESR only triggered later (too  late imo then)?

Finally I can disable logging, thank you.  :)

How far along are you with the features of the Watchdog? I have to ask because the only action that I could make use of is basiscally always going to result in the process being terminated. I'd much prefer to a) lower the priority of a process and b) trim the memory as can be done manually already and with ProBalance.


I remember you wanting to rename the 'virtual memory' references, they are still the same it seems. Trimming virtual memory will actually trim the working set which is physical memory. If you are intending to actullay trim virtual memory it isn't working for me.


Also, if I may ask, what information is being transmitted when activating?


Thank you again, PE4 will be an even more powerful tool than it already was before.



***
After some hours of running the new version, the ProcessGovernor.exe consumes twice as much virtual and physical memory than 3.89 beta did. On startup it has 4MB working set 3MB virtual memory versus the old version below 3MB working set and 1.4MB virtual memory. The memory usage increases to 9MB after a while.. it's never been that high before.

Jeremy Collake

#22
Quote from: watermelon on September 19, 2010, 07:23:54 AM
A couple of questions, like always:  ;)  Is there an exact list of what features are not enabled in the unpaid version? I didn't activate the beta yet and aside from the one notification on startup I couldn't find another hint what actually works and what not.

Well, most things work -- so that's just it. I'll likely have to crack down a little more to get some purchases though. What doesn't work you find out when you try to use it.

Quote
Wanting to give the ESR a try, I disabled ProBalance for a moment and fired up CPUEater while having another process performing some I/O, bringing responsiveness to a minimum with even the mouse barely moving. Waiting for 2 minutes without the ESR taking any action, is that because my version is not activated or is the ESR only triggered later (too  late imo then)?

Yes, this is malfunctioning at the moment... or rather not functioning. I'm working on improving it. It is one of the things that has to be done before final

Quote
Finally I can disable logging, thank you.  :)

You're welcome ;)

Quote
How far along are you with the features of the Watchdog? I have to ask because the only action that I could make use of is basiscally always going to result in the process being terminated. I'd much prefer to a) lower the priority of a process and b) trim the memory as can be done manually already and with ProBalance.

98% done.. testing and final tweaks done now. I don't have any automated memory trimming planned right now, but could easily add it in the future. Let's save that for v4.x so I can finally get v4.0 out.

Quote
I remember you wanting to rename the 'virtual memory' references, they are still the same it seems. Trimming virtual memory will actually trim the working set which is physical memory. If you are intending to actullay trim virtual memory it isn't working for me.

The wording could be read either way. Technically it is all virtual memory. Some virtual memory resides in physical memory (the working set), so yea I'm trimming the virtual memory that resides in physical memory, migrating it to the page file(s) and out of RAM. I guess I could change that wording, though I never have been a fan of that function anyway.

Quote
Also, if I may ask, what information is being transmitted when activating?

At present: The name you enter in the activation dialog, activation code, and version ID of the product.

Quote
Thank you again, PE4 will be an even more powerful tool than it already was before.

You will really like it once it is done. I'm hoping to finish it up soon.

Quote
After some hours of running the new version, the ProcessGovernor.exe consumes twice as much virtual and physical memory than 3.89 beta did. On startup it has 4MB working set 3MB virtual memory versus the old version below 3MB working set and 1.4MB virtual memory. The memory usage increases to 9MB after a while.. it's never been that high before.

I see this too and am looking into it. I do not yet know if it is a slow memory leak or some of my the new data structures are pre-allocating more memory than they need (part of the new inter-process communication and event reporting). Either way, it will be fixed.

Ah, so much to do! ;o. I will get it there though, or die trying.

Thanks
Software Engineer. Bitsum LLC.