computer slowdown over time.

at work,i leave my pc on for weeks at a time (behind firewall), since i have windows opened all over our network...my environment. it would take me 15-20 minute a day to boot up and get back to everywhere i need to be to get my job done i estimate.


After a few weeks, my pc starts getting real sluggish coming out of "locked" mode, and things like starting mail, internet browser, window(s) responses, have lag or are just plain slow to get going.

Is this something that happens over time to a pc that's been up for awhile? Or is this a network thing. (i don't think it's as bad, after a fresh boot, but that could just be me)

Is there software available that will 'reboot' (or reinitialize just a few things) withoug closing down all your windows, loggin off the network, and such?
 
The memory gets fragemented and fills up over time, every time you start, open or close something. While there are some utilities that defragment your memory, that doesn't work that well. Rebooting is best.

If you want the reboot to happen at night, and have everything restored, you can use a program like this and the "at" command (in a dosbox) to reboot, and you can put everything you want to start automatically in your startup folder in the start menu.

If you want things in the same location, many programs allow you to save the settings. And if you want to open some documents, add those (full path + name) as parameters in the shortcut.
 
Can't you use the hibernate function to shut down but restore instantly? Dunno if that would solve memory fragmentation, but I would have thought so...
 
Diplo said:
Can't you use the hibernate function to shut down but restore instantly? Dunno if that would solve memory fragmentation, but I would have thought so...

I do that with my laptop, but after a few days of work, it takes much longer to wake up than just turning it on. Same problem, it seems.
 
i've tried stuff like rambooster (wondows ME days) and rampage (XP days). but with XP, that doesn't seen to help, i think it did with rambooster (basically avoided complete freezeups, i thought that was better...lol).

yeah defragment memory (swapfile too? i only have 256M RAM at work), i was just wondering if there was something that would do that, while simultaneously preserving my current desktop state.

the thing is my jobs and docs and whatnot change from day to day (most of my work work is on unix servers i telnet to, plus sas, bo, pc projects, plus the requisite word, excel, adobe, outlook, etc ,etc stuff i use for the accompanying' paperwork' that goes along with everything i do softwarewise. so i'd like to be able to preserve exactly where i am at a given time (day) without a hassle of editing a file to define everything by 'hand' each time.

a system 'freshener' program as it were.
 
There are a few diferent things in this. To applications, the memory is always contigous. But to be able to do that, the processor and the OS use pages of memory, 4kb in size, to "fill the gaps". So, after a while, your physical memory looks like a whole lot of puzzle pieces, placed totally at random, and from a lot of pieces only a small bit is used.

Further, to help combat that, Windows tries to keep memory in groups and allocated to the application that used it last, for most of them have some kind of clever memory scheme. It is much more efficient to ask Windows for a large block of memory and divide that yourself (the compiler libraries take care of that), than asking for a lot of small bits. But the memory of the application becomes fragmented as well, which isn't something that Windows or a memory defragmenter can solve, as it isn't managed by the OS but by the application.

So, after a while Windows has to start reusing stuff over and over, and keep on loading, saving and shuffling the bits around. And of course, all of them are swapped to disk, and the layout of the pages in the swapfile is fragmented as well, even if the swapfile itself isn't. And it is the last bit that is really hard to solve.

And last but not least, you have all kinds of small memory leaks, like things placed in queues but they timed out and were discarded, IUnknown buffers that aren't properly free'd (as there are a few bugs in that and it is really hard to get right), etc.
 
okay thanks. just wondered if there was something out there. guess i'll just have to cold boot every couple weeks...which isn't all that bad, at least it's not every day.
 
Physical memory fragmentation isn't a problem in x86 PCs since it doesn't make a difference at all for the threads where the physical pages are. The idle thread (look out for folding@home blocking this!!) is responsible for managing the thread's pool of pages and zeroing them out when going back to the global pool to avoid leaks of information. Windows keeps a 64kb (IIRC) granularity on "pages" to keep their count at a manageble size and to support other memory architectures (alpha, I guess).

Since the swap file is not a direct representation of the logical memory, the OS is free to organize it the way it sees fit. I wouldn't be surprised if windows reorganizes it from time to time, either. It would explain the sudden and extensive hard disk activity I often notice when the computer is idle.

The problem might be at thread level, and you can check if it is by loading up task manager and comparing the commit charge at different times. It wouldn't be news if many windows services use memory allocation algorithms optimized for speed, instead of paging-friendly best-fit ones and the same can be said for general use applications (if you leave them running 24/7; mozilla/firefox have a really big similar problem). You could try playing around with the "optimize memory for desktop/server use" option but I don't think it's related to that.

Oh, and forget about memory optimizers, they can't do nothing noticeable. :)
 
Great topic, guys!

CC, I've experienced exactly the situation you describe and have similarly become intrigued as to ways to address it w/o a full reboot.

You've probably noticed that your real RAM useage is hovering right around the amount of physical RAM you have installed. So it is then dipping into VM even just to do little things. Your typical set of applications don't typically use that amount of RAM, but persistently running, they seem to get there given enough days. I don't know if you can call it a "memory leak" per se, but it is very similar.

So I look at the big offenders in the Task Manager. Look for the apps with the highest memory counts and also huge VM counts (you may need to enable this column in your Task Manager settings). For me, it was Outlook Express, Microsoft Word, Internet Explorer, Microsoft Visio, and Microsoft Messenger. Quit out of all those apps. Restart them as needed. It unlocked an S-load memory (about 200 MB out of 512 MB installed). This was *after* I restarted all of the same apps. So it's not just running the apps that had me pegged at 512 MB and dipping into VM. It was the old data or whatever they were holding while running. So by refreshing just those apps, I recovered a bunch of memory, probably cleaned up some big blocks of VM, as well, and responsiveness was snappy once again. (Hint: You know your computer is enjoying quite a large "dump" when it is taking 10's of seconds to quit an app along with much disk thrashing. Just let it go to it.)

So give this a try. I'll be curious to hear what kind of response you get.
 
Last edited by a moderator:
I dont have problems with using Hibernate starting up too slow after a few days or what not. I have used hibernate darn near all the time on my laptop. I think what matters is some tweaks in the registry that are not enabled by default. For example, the following link: http://www.winguides.com/registry/display.php/667/

And also this one, http://www.winguides.com/registry/display.php/399/
And also this one, though it does kind of get annoying if you do frequent reboots because it drastically increases the shutdown time: http://www.winguides.com/registry/display.php/244/
But I think overall it has quite a healthy effect on the system. I had XP installed for nearly 8 months and there was no slowdown in my machine whatsoever. Boot times remained the same. And so did application startup times.

And a host of other tweaks that can be found at the above mentioned sites. I enable those and a host of others everytime I do a fresh install. That along with the use of nLite to creat my XP cds has given me a lot of freed up resources.

Also some other utilitites to compress and defrag the registry and so on...tools like System Mechanic, CCleaner and Executive Diskkeeper with its MFT managing options and defrag before boot just really do work.
 
randycat99 said:
Look for the apps with the highest memory counts and also huge VM counts (you may need to enable this column in your Task Manager settings). For me, it was Outlook Express, Microsoft Word, Internet Explorer, Microsoft Visio, and Microsoft Messenger. Quit out of all those apps.
Fixed. ;)

(I just noticed that every single app you listed is on my "AVOID!!!!" list. ;) )
 
heh... dont have any of them installed, but comp is being "lazy" lately.... prolly cause i blocked some apps to access internet....

if i wanna upgarde something....i'll do it on my own, thank you.... i dont need that shit starting every time i start app.... its annoying....
 
I dont have any of those apps besides Outlook installed. But yes restarting apps often do help. I just never attempted it on my own comp.
 
t0y said:
Since the swap file is not a direct representation of the logical memory, the OS is free to organize it the way it sees fit. I wouldn't be surprised if windows reorganizes it from time to time, either. It would explain the sudden and extensive hard disk activity I often notice when the computer is idle.

Agreed, but also playing in the registry I found out that when idle there is an option for the defragger to turn on. That could account for the disk activity as well.
 
I find it helps a lot to eliminate every single app that you don't need that tries to start up with windows, makes it LOTS zippier. ;)
 
Back
Top