Response to Digg Article Claiming to Free up Memory
So, a post on Digg.com recently came up where someone claimed that running rundll32.exe advapi32.dll,ProcessIdleTasks
would in reality "clear up your system memory" and make your system run faster as a result! Of course, no claim like this should be believed these days without some factual basis, so I decided to do a little bit of research since I have a relatively good understanding of Windows as an o/s, and a novice understanding of programming.
As it turns out, there truly is a function in advapi32.dll called ProcessIdleTasks
; This can be found using a tool from Nirsoft
called DllExport Viewer
. What is not correct, however, is the general understanding of what this function does. Simply doing a Google search for this function's name yielded quite a few results including articles and forum postings in which people claimed that this function freed up memory in Windows. Another interesting search result came from Microsoft itself, in the form of an article about benchmarking
. In this article, it clearly states the following:"The file placement optimization, which is done no more often than once every three days, is an example of a task that is carried out when the system is deemed to be idle. System Restore and other features of Windows XP also attempt to defer some work until the system is deemed to be idle. There are also some done-once-after-setup work items that also operate under the Idle Task Scheduling mechanisms.
All of these "idle tasks" are controllable by a system API in advapi32.dll, ProcessIdleTasks. The APIs sole purpose is to allow benchmarks a simple way to force any pending idle tasks to be executed immediately, without having to wait a lengthy period of time."
That, to me, seems like it has absolutely nothing
to do with "memory optimization." It would seem that this function simply puts Windows XP into an idle state, enabling it to perform tasks that it wouldn't normally do while the computer is in use. Anyway, I hope this clears up some misunderstandings regarding the usage of this function.