The final question first: Is there a reason, that Autoit doesn't clean up RAM usage as a standard feature?
This posting by @guinness was pointing me to the solution for solving my problem:
DllCall("psapi.dll", "int", "EmptyWorkingSet", "long", -1) this simple, single line called on a regular basis stopped the script consuming more and more RAM.
Guys, i need help on creating a script that restarts a program once it starts using more than 1GB of memory.
No idea how to start on the script, i don't know which functions i should use for process memory reading.
My mind is in total blank at the moment, so i need a kick start
Im wondering if it is possible to 'empty' the variable value to save memory, for example i often use variable as a onetime use thing and would prefer to 'forget' it after is is used
Maybe it is just as easy as to setting $vVar = Null, but i wanted to make sure that this is the case
Is there a reliable way to ensure that data assigned to variables in a script is overwritten or deleted when the script exits? I have scripts that encrypt/decrypt data and would like to ensure, if possible, that the encryption keys and decrypted data do not stay in memory after the script exits. Thanks.
Here test example of a dummy program with random added controls to the main form:
If #include <GuiListView.au3> is commented out, then this simple program uses around 3,5 MB of RAM. When #include <GuiListView.au3> NOT commented out - RAM usage is around 13-14 MB.
How can I reduce memory usage? Even if I'm not using GuiListView.au3 - 3,5 MB quite a bit for a such dummy program!
I found out that using this DLLCall in main loop:
DllCall("psapi.dll", "int", "EmptyWorkingSet", "long", -1) Significantly reduces RAM usage (even with GuiListView.au3 included, from 13-14 MB to 600 KB !!! ) but I'm not sure if it's doesn't have any impact to common workflow of a program...
So, give me any advice about that, please.