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.
It's been a while since I wrote my last message here and a while since I used AutoIt. I'm currently sort of desperate and I'm trying to find some help in regards of getting the network usage per process!
I'm not interested in the total network usage of the NIC, but only on a specific PID's network utilization. They idea is to collect the amount of traffic uploaded and downloaded by a list of specific processes. So far Process Hacker and Process Explorer are capable of getting what I need, but I need to use these numbers in another script so they're sort of useless to me. I can't seem to find a way around it.
Any idea, help is greatly appreciated.
hello autoit developers community
i have some question , i hope to find the answers of it :
- in large project or even in small ones
how to make my compiled script use less memory ?
- how to test my script and be sure that there is no memory leak , or whatsoever reduce my script performance ?
- where can i find anything talks about autoit script architecture to avoid bad script design ?
last thing i find these script
can anyone describe how these scripts work and is these script actually work fine
Func _ReduceMemory() Local $ai_GetCurrentProcessId = DllCall('kernel32.dll', 'int', 'GetCurrentProcessId') Local $ai_Handle = DllCall("kernel32.dll", 'int', 'OpenProcess', 'int', 0x1f0fff, 'int', False, 'int', $ai_GetCurrentProcessId) Local $ai_Return = DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', $ai_Handle) DllCall('kernel32.dll', 'int', 'CloseHandle', 'int', $ai_Handle) Return $ai_Return EndFunc Func _SelfReduceMemory() DllCall("psapi.dll", "int", "EmptyWorkingSet", "long", -1) EndFunc