It took ages to solve idle issue, but finally cracked it for my XP.
Windows XP very slow after idle appears to be issue with page file system cache (PF Usage) taking up excessive I/O activity on the disk (writing to hard drives) due to highly fragmented
pagefile.sys file. Hence no real CPU usage showing, and changing PF Usage levels may not have much effect as it is not the size of PF, it is the fragmentation of the PF (normal defragment tools do not touch this file).
There is no more slowdown after I did a defragment of
pagefile.sys with a tool that can actually access it (PageDefrag v2.32 By Mark Russinovich). An even simpler solution may be to set computer to clear pagefile on shutdown (I didn’t try this but probably works too - see below).
The high I/O was not from a rogue program or virus. It was slow buildup in pagefile.sys file fragmentation, the disk area storing current virtual memory blocks. My pagefile.sys had something like 264,000 fragments. Virtual memory is stored in 4KB blocks, but the fragmented block pattern was taking up excessive I/O for the drive to read after computer had been in idle.
During idle lots of application data is sent to pagefile rather than kept in RAM. Then when you start using applications again the computer is getting it back out of pagefile.sys: but if the pagefile.sys is highly fragmented then it can be painfully slow disk read speed. i.e. I sit there with almost nothing happening for 30 seconds, or watching webpages load almost one pixel line at a time.
pagefile.sys, but maybe it is simpler to clear the file, something like:
- Click Start
- Click Control Panel
- Click Administrative Tools
- Click Local Security Policy
- Click the "+" next to Local Policies
- Click Security Options
- Doubleclick "Shutdown: Clear Virtual Memory
- Start Registry Editor (Regedt32.exe).
Change the data value of the ClearPageFileAtShutdown value in the following registry key to a value of 1:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management
If the value does not exist, add the following value:
Value Name: ClearPageFileAtShutdown
Value Type: REG_DWORD