I am fond of using many software running on my PC all the time, esp security appliances, recently I am using,
WinPatrol free
Norton Intenet Security(firewall and antispam mdisabled)
Jetico firewall
MS antispyware
AntiHook
BufferZone free for IE with trial of whole package
Some of yahoo widgets
I was using net, when i received baloon alert from windows that system is low in virtual memory, I want to know what is virtual memory, and how i should manage it.
-
Hi aigle,
Every application started is in fact a "process" to a CPU. Every process needs its variables, textures, executables, dlls etc... to run. In order to have access to it, every process allocates RAM memory and loads all needed stuff from disk into this allocated space. As CPU can handle many processes at the same time (actually only one, but it switches between them very quickly), RAM holdes many process memory allocations - big chunks of the memory are used. What if you have started so many processes and it doesn't fit into RAM anymore? The currently idle processes (their "contexts") are transfered back to a special place on disk and that is what windows are calling "virtual memory". It can be accessed as it was in RAM, but it is 1000 times slower.
Virtual memory is in fact one file called pagefile.sys located by the default on root c:. It is hidden and you have to enable hidden files in order to see it. Windows automatically manage the size which is dynamically allocated, meaning that when you use RAM the things are saved into this file, more you save the bigger it is. When you need them it is loaded from that file into the ram again. Pagefile can be moved to another partition which has enough space to hold it.
SO to get to your answer:
You are low on C: space.
So either you clean up C: a bit (the size of the pagefile varies from 700MB to over 2GB in my case) or you can move that pagefile.sys to another partition.
To move it go to (I have croatian windows, so forgive me bad names):
My computer - Properties - Advanced - Perfomance "Settings" - Advanced - Virtual memory "Change". Select another partition and then press Set. Reboot. That is it. Your C has much more space now! And "virtual memory" has enough space to grow.
There is also the third scenario and that is bad.Maybe some of your processes have the "memory leak". It is badly written program that allocates more and more memory until windows decide to kill it. That can be easily done with infinite loops for example. In that case I suggest restarting, and immediately after booting (and logging into windows) start Task manager (Ctrl+ALt+Del). Go to Perfomance tab. Watch the line graph, if it is linearily growing after 5 minutes or so, then some of your programs has the memory leak. Click on Processes tab. Sort by memory allocation. You'll see the name of the program responsible. It is not so rare. Photoshop CS has it on some hardware combinations. (The new and very expensive program). It allocates 5MB per second, uses all ram, uses all virtual memory, windows kill it after the warning. Very good programming indeed.
Also when I'm already talking about it - buying more ram will INCREASE the pagefile size (and hiberfil.sys). Some will suggest disabling it, but I strongly suggest to leave the darn thing alone. Windows will handle it OK, and you will get better performance and everything WITH the pagefile set to default too. I have seen too many clean reinstalled "optimized" Windows systems that crash without a warning.If you have more than 768MB Ram the pagefile size will usually match the amount of RAM you have.
Hope it helps, -
Thanks for such a detailed reply. As far as I can understand, I don,t need to clean my disc as windows was able to increase virtual memory in my case( mentioned in the message displyed by my system). All i need is to increase my ram at the moment to avoid this message again. Am I right?
-
SpacemanSpiff Everything in Moderation
As an example, at times I have run a SQL statement of the form "Select * from table1" when I should have written "Select top 100 * from table1"--the difference is that the first statement returns all rows, and temporarily filled up my hard drive with junk. -
First clean C:. Check the temporary folders. Open Windows Explorer, make sure you can see hidden and system files. Go to Documents and settings/your login name/ and then find the hidden folder Local settings, delete the content of the temp directory. It can be huge after a while. Also delete all temporary Internet files from IE and set the Temporary folder to some smaller size, so it cannot grow to tens of GBs anymore.
Try defragmenting the disk. On a 30 GB partition my friend managed to get around 530 MB free space by only defragmenting (it was awfully fragmented and full of small files) and the cluster size is 4kb by default on NTFS. SO every file or file part smaller than 4kb still takes 4kb on the disk producing so called slack space. Do offline defragmenting with some defragmenting tool. Defragment system files like pagefile.sys and hibernate.sys if you can. Diskeeper and Perfectdisk can do it.
And yes SpacemanSpiff, databases can be tricky. I have one access database that couldn't do its macros anymore because it has so many records and I needed to increase the default Windows file locks registry variable to some insane big number. Your issue ends up in the tons of temp files on disk, and my uses ALL windows resources, so Windows stop responding!
Cheers, -
Thnks, I don,t get that mesageany moreexcept once, I think i was running too many programmes together. I want to ask windows defragmenter is not enough?
-
Windows defragmenter is OK to an extent. It will not defragment your system files such as pagefile.sys and hiberfil.sys. It will not move the most needed boot files to the beginning of the drive etc... It will help though. Sometimes a lot. Buying more ram will help with many apps, but will also raise the need for more disk space. Strange but true.
Cheers,
Low Virtual Memory
Discussion in 'Windows OS and Software' started by aigle, Feb 25, 2006.