Releases: lowleveldesign/process-governor
Release list
Process Governor v4.1
Release notes
- efficiency mode now also changes priority (this is in accordance with what Task Manager expects) (#86)
File hashes
procgov.exe
MD5 = 5C0FFED152B070932B1C80E38963A492
SHA1 = 628AA3930278ED35EF721CC5AF53BDB8E1AFFEF9
SHA256 = FA59212A32306CA22C22680A36C047CA3FFEA52F511ACB09DD9D7145C1673069
Process Governor v4.0
I thought I will make smaller changes required by the efficiency mode settings, but ended up rewriting many parts of the application, including the monitoring engine 😅.
Release notes
- a new parameter to control efficiency mode: --efficiency-mode (#80)
- a new parameter to run processes in isolated jobs: --isolate
- a new parameter to reset job limits: --unset-limits (#75) (only named jobs)
- a new parameter to limit the maximum number of processes in a job: --max-process-count
- empty environment variable will remove the variable from the process environment
- better handling of process hierarchies in the procgov service
- new tests + started moving old tests to the new tunit-based project
⚠️ breaking: --nomonitor parameter removed⚠️ breaking: updating jobs is possible only when using procgov with the --job-name parameter, otherwise jobs are anonymous (as stated in the Raymond Chen's post, using anonymous jobs is safer and recommended)⚠️ breaking: when updating process limits, they are no longer merged, but new limits will override the old ones⚠️ breaking: when updating process limits, they are no longer merged, but new limits will override the old ones
File hashes
procgov.exe
MD5 = 4FB9235AE3F938DE0F47E7BE65527853
SHA1 = 04AD43D84ABFE404E8F5C4DEAE21CA2A88F7D7C1
SHA256 = 739ECCF1A2E6834AD756D0C3D31B8EE0FD0ED0BEFF8F01077AF3DEA8E006381A
Process Governor v3.2
Release notes
- added user's SID to the monitor named pipe name to avoid permission issues (#81)
- fix for wrong CPU ranges display (#82)
- fix in uninstall, so procgov properly removes the install folder
- fix install command to properly set the procgov path
- a new parameter (--job-name) to provide name for the created job
- new monitor API methods to support upcoming functionalities
- updates in tests to improve stability
- updated nuget dependencies
File hashes
procgov.exe
MD5 = 90B3B4C38AAD67D1788E952A34068A6A
SHA1 = 8C198D4D68FDF08E096E3C1510DA5EE33AB0D604
SHA256 = 49B8272966FB4A900E8DA5211B837F148790D14CADFC4F37EDF0899985656388
Process Governor v3.1
Release notes
- Fixed problem with the ghost console window (#78)
- Added experimental --freeze and --thaw options to control process suspension (deep-freezing)
- Better display for the CPU cores in CPU groups
File hashes
procgov.exe
MD5 = 419A329CA8C193BA3DCA1A37E8544B98
SHA1 = 2F9D31E9E83BD3014C06B3A01A5F61C2F81E373F
SHA256 = C1F8BF44CDAFC0B574D13ADB07AA189AD1CFDF091BB5E662662AE75113561345
Process Governor v3.0
Release notes
- Procgov is now one executable (procgov.exe). It is 64-bit (compiled with NativeAOT) but works with both 32-bit and 64-bit applications.
- Added support for machines with more than 64 CPUs (#72). It is now possible to set affinities using processor groups and NUMA nodes. As --cpu parameter supports NUMA nodes, the --numa parameter became obsolete and confusing so it's removed.
- Added support for priority class (#59)
- Introducing run modes:
- monitor to observe the governed processes and keep handles to the procgov jobs (procgov no longer injects special environment variables into monitored processes)
- service (beta) to automatically apply limits to newly started processes (--install option) (#58)
File hashes
procgov.exe
MD5 = B00FD4F1DDA01DC33B985655D8B9CA51
SHA1 = E26EA61F8631D8B7A13E66ADDFFA11AA711CCE65
SHA256 = 3DF77AFF3D396B14EBA3F36E974B637C2F616681FC8937C96E43A58F89CB0F86
Process Governor v2.13
Changes
- After launching a new process, if
--nowaitis not set, procgov will exit with the same code as the launched process (#66) - With
--terminate-job-on-exitprocgov will terminate the job (including all processes assigned to it) when you press Ctrl+C (#62)
File hashes
procgov32.exe
MD5 = 2AF11E2C786A3180DE85EE270E8A0A74
SHA1 = 69276EDE78DD93A67926DFD699ABF07186BD23A5
SHA256 = B57783DE6EB32D8BCA07203E39DCD903090FFF8931A133BE3788408A0FB73DAF
procgov64.exe
MD5 = AF15901CA4275D56BB9ED5B8DAC9F718
SHA1 = 38444192E0F952330978FE6C4BCD25B5FB8F2248
SHA256 = ADDC4C1AFEA0B30F8C56921B33CB60C4FD1F16C251260EA1D7E2F419360A5350
Process Governor v2.12
Changes
- It is now possible to assign multiple (even unrelated) processes to the same procgov job object (
--pidoption accepts a list of PIDs separated by commas) (fixes #50) - The
--envoption for modifying process environment variables also works for the already started processes. It means you may update process(es) limits and set/update their environment variables.
Minor changes:
- Procgov shows only the updated limits (when you update existing limits, the old ones won't be visible). Use System Informer (former Process Hacker) or Process Explorer to find all the job limits
- As multiple processes are supported, procgov no longer shows results of privilege adjustments - if there was an error it will be visible in the log output
File hashes
procgov32.exe
MD5 = 69C298EC720373FBBF94DC6708F5C4A6
SHA1 = 1D8FC2C36001AD2CA40A33F867E13D6D9E5EA7BB
SHA256 = 628F22D38440BCECA2E52BD41ED794DC0232F4383BA2D44725CA6FBAB86F4DB3
procgov64.exe
MD5 = B3D80C72377CCA27D4CF903A770303E0
SHA1 = 5188F956230FC7152BBBCC3189584C27578FFB53
SHA256 = 9A29C129ED7E21DA77C07167EA52C6480AFEFE50FE8DD6D24CA79E3EFF7E043F
Process Governor v2.11
Changes:
- it is now possible to update the CPU affinity for an already limited process (issue #46) (does not work if the process spans multiple processor groups - please create an issue if you hit this problem)
File hashes
procgov32.exe
MD5 = BD5EB09200C1DA31ECDAAC2ECE0A0F44
SHA1 = 702DD31F1B71CD7C807B2C248D0511B484C29B53
SHA256 = 328380D2099F2BE11C92E1F0CF48E693C82ED98B8D5521C18CD2AC17818F53D7
procgov64.exe
MD5 = 75623A0E72B07813F213FD309DB1A9ED
SHA1 = 476CDDB20D7D6BC069FE76E51537F91F44946BA6
SHA256 = 9C50463BB6A703D1C3A941D35DA3E26A9F662692E53CEBB0C64CBEB4AE9109D7
Process Governor v2.10
Changes:
- BREAKING: procgov 32-bit is now named procgov32.exe (instead of procgov.exe). This change was made to make the naming consistent and avoid confusion when picking the right version (suggestion from the #34 issue)
- added a --enable-privileges command-line option. It allows users to enable privileges in the target process (solves #35)
- source code migrated to .NET 6.0 (please report if you run into any compatibility issues)
File hashes
procgov32.exe
MD5 = 202879C033C9D43A35F6297667A88A2D
SHA1 = AEED4E3AD22ABFA312A545FFA381B245726425A8
SHA256 = B4B5443E8EEBC3F16059A84D004DF54EF0AD16B83C97E850625C6DD0101BBC55
procgov64.exe
MD5 = 01C7C28252F8C1D04C3471F3F06F53DC
SHA1 = 9F3682E955ABB6F012F1FD4E60E3021B8877E119
SHA256 = A305038FFC7C5BDAB5C13BFB6C519D535886922EB145E673AE3C29AA88DED994
Process Governor v2.9
Changes:
- added a --nowait command-line option. If set, procgov won't wait for the target process(es) to complete
- added a --maxjoblimit command-line option to limit the committed memory usage for all the processes within the job
File Hashes:
procgov.exe
MD5 = 17F3796458859F9B502FD6346AC3C7A2
SHA1 = D9C70E0A8B8B9CA7E6E5F82889A4EB0398DB9930
SHA256 = 0A2C99B94D53964537375E2B3B1D2E867F85A13A6D1559F2157836E7D5C1FF17
procgov64.exe
MD5 = A281C02D4F414365BB8B420A30E0FFF2
SHA1 = 1190389901D11934EE2DF4A909D6EE2BCC712BA5
SHA256 = A145210796CF2838E6B7D9005682768D4D2E0092700BDDDF81D05800FA778ACC