Windows XP Professional SP-3
Internet Explorer 8
Avast! 4.8.1335 Home Edition
Windows Defender
Windows Firewall
After web browsing for awhile, I happen to notice that ashWebSv.exe had mushroomed to 72M - and that’s even after Internet Explorer was closed! There were no instances of iexplore.exe in memory and yet Avast’s Web Shield was eating up over 70MB of memory.
As a test, I load 24 web pages into Internet Explorer. I watched ashWebSv.exe grow from 72MB to 122MB and the handle count go from 133 to 1201. I exited Internet Explorer and ashWebSv.exe dropped back down to 72MB (not immediately but within several seconds) and its handle count went down to 133.
So ashWebSv.exe is retaining a large amount of physical memory even after the web browser has exited (there are no instances of iexplore.exe in memory). The only way to get the Web Shield to relinquish the memory is to terminate that shield and restart it. When the Web Shield first starts up, it consumes 1.7MB of memory and 92 handles. I load the same 24 pages and ashWebSv’s memory footprint grows to 48MB. I unload those pages and reload them and ashWebSv grows to 72MB. I do it again and memory goes up to 118MB. These are the same web pages getting reloaded each time. I then exit the web browser and ashWebSv.exe drops to only 72MB - and it stays there until the Web Shield gets terminated and restarted.
In the first place, why is the Web Shield eating up such a huge amount of memory? Once it scans a web page, it’s done. If the user unloads a web page (navigates elsewhere in the same tab, closes the tab, or exits the web browser), obviously the Web Shield doesn’t need to retain any information for a web page that is no longer displayed. And, in the second place, why isn’t the Web Shield releasing all that memory, especially after the web browser has exited?
— UPDATE —
I happened upon the “intelligent stream scanning” option. It’s help description says:
Use intelligent stream scanning. This option specifies how the downloaded files are scanned. If this option is enabled, the files being downloaded are scanned almost in real time. The pieces of data are scanned as soon as they arrive - and the next parts are downloaded only when the previous parts are verified to be virus-free. If you turn off this option, the whole files will be downloaded to a temporary folder first, and scanned by avast! afterwards (and if no virus is detected, they are passed on to the web browser that requested them).
So it would seem that enabling this option would keep response in the web browser as speedy as possible. Obviously every user wants their security product to inflict as little lag as possible. This option is enabled by default when Avast is installed.
I disabled this option and did the same test as before and got:
- No web browser loaded. Terminate and restart Web Shield.
Memory = 4.6MB (bigger than before for its initial size) - Load the web browser and open the same 24 web pages.
Memory = 46MB (rather large but perhaps dependent on the sizes of files retrieved for web page) - Unload the 24 web pages in tabs. Web browser still loaded.
Memory = 46MB (does not relinquish memory although pages no longer displayed) - Exit web browser.
Memory = 9.6MB (not quite down to its initial size)
So there is less memory consumption but there is still a problem. The memory is NOT getting relinquished when the web page is done being rendered (and after Avast should have already completed scanning all the files for the web page). When the web page is unloaded (i.e., the tab is closed), Avast is still not relinquishing its memory. Only until the web browser is exited does the Web Shield relinquish most of its memory.
This was a short test. I did not check what happens to ashWebSv’s memory footprint over time as the web browser is left open while continuously navigating to various sites throughout the entire day. I also leave my computer powered up 24x7. Sometimes I leave the browser open when I leave the computer (I do have to sleep, ya know) because I need to continue from where I was when I return.
So my choices are to leave “intelligent stream scanning” enabled in trying to eliminate lag in response when visiting numerous web sites along with letting the Web Shield consume and retain a large amount of physical memory, or I can disable this option and suffer slower response in the web browser to get the Web Shield to relinquish its memory but only after exiting from the web browser.
This is not a new problem, folks. Users have reported here this problem going back over 3 years. Has development on the Web Shield component gone stagnant in subsequent versions of Avast?