Tuesday, April 29, 2008
Finally!! Back ONLINE!
Finally! After months of figuring it out, I managed to reclaim my account. Yes, I was that slow. Kick me... Anyways. Look forward to more techy blogs from me in the near future!
Tuesday, August 15, 2006
100% CPU Utilization - How to pinpoint the root of the problem
Ever had that irritating problem where all of a sudden EVERYTHING starts slowing down to a grinding halt? I've had the problem numerous times, and it always seemed to be some sort of BADWARE infesting on my machine.
This time around, one of our computer labs are facing the very same problem. But after trying all possible anti-virus, anti-spyware, anti-malware, anti-malware, anti-torjans, Hijackthis, and all, there seemed to be no problem what-so-ever, and CPU was still at 100%. So, with some help, I did a little experiment... (this can be used in the future to diagnose the root cause of your OS problem, if all else fails)
First, using the builtin System Configuration Utility of XP by typing "msconfig" at the command prompt, I chose the "Diagnostic Startup", which effectively disables ALL Windows services from starting up, except of course the essential/critical ones, and it also disables ALL startup applications.
After rebooting, I found that the problem has gone, so immediately I now know that it's an OS problem, and it has something to do with either the startup programs or the Windows services. Optimistically, it could be just one culprit, or a combination of a few. So then, I proceeded to step 2, which is using the "Selective Startup" which allows us to choose what to run and what to disable. First, I chose to enable everything except any Windows Services, so I left "Load System Services" unmarked.
Upon rebooting, there were no problems and no 100% CPU Utilization. So I can deduce that it wasn't a program startup problem, and it was one of the MANY services that run on XP. So, this time I selected the system services as well, but this time I navigated to the "Services" tab, and here's the ingenious part. I applied a binary search algorithm to pinpoint the culprit with the assumption that there is only 1 single service that is the root fo the problem. Basically, I split the list in two halves (A & B) and enabled the first part. Upon rebooting, I found that the CPU utilization was normal, so I knew that the problem must be among the second half (B) of the services list. So I proceeded this time by splitting B into two halves again, into C & D and repeat this process of halving until I came down to a few processes starting with "P".
Guess what it came down to? Print Spooler services! Who would've thunk it? And the lab computers were not even hooked to any damned printer! Well, I did a little research on the web and lo and behold... seems like I wasn't the only one. Found out that if you don't have a printer, then chances are you'd have a Microsoft Document Image printer driver kinda thing. It acts like a printer, but doesn't actually produce any output. Unfortunately, when any dumb soul hits the "Print" command and sends it for 'printing', it'll be queued up in that spooler. And these things don't expire! Nor is it infinite space! Similar to a normal printer, I guess, that has a printer buffer/cache/memory, which are now commonly in the 2MB to 16MB range, it can get FULL! So, that was the problem!
All I needed to do then was simple. Just STOP the Print Spooler service via the Manage Console. Empty the "%system directory%\system32\spool\printers" folder. START the Print Spooler service again, and you're DONE! Of course, if you don't have a printer or don't plan to attach any in the near future, you can always disable that service altogether to avoid future problems. I foresee Windows fixing this in the future. Possibly having an expiry to the spooled items, maybe up to 30 days, or enable user to specify. OR get rid of the MS Doc Image thing altogether! Haven't figured out what it's good for yet...
Well, done with that problem. On to the next!
This time around, one of our computer labs are facing the very same problem. But after trying all possible anti-virus, anti-spyware, anti-malware, anti-malware, anti-torjans, Hijackthis, and all, there seemed to be no problem what-so-ever, and CPU was still at 100%. So, with some help, I did a little experiment... (this can be used in the future to diagnose the root cause of your OS problem, if all else fails)
First, using the builtin System Configuration Utility of XP by typing "msconfig" at the command prompt, I chose the "Diagnostic Startup", which effectively disables ALL Windows services from starting up, except of course the essential/critical ones, and it also disables ALL startup applications.
After rebooting, I found that the problem has gone, so immediately I now know that it's an OS problem, and it has something to do with either the startup programs or the Windows services. Optimistically, it could be just one culprit, or a combination of a few. So then, I proceeded to step 2, which is using the "Selective Startup" which allows us to choose what to run and what to disable. First, I chose to enable everything except any Windows Services, so I left "Load System Services" unmarked.
Upon rebooting, there were no problems and no 100% CPU Utilization. So I can deduce that it wasn't a program startup problem, and it was one of the MANY services that run on XP. So, this time I selected the system services as well, but this time I navigated to the "Services" tab, and here's the ingenious part. I applied a binary search algorithm to pinpoint the culprit with the assumption that there is only 1 single service that is the root fo the problem. Basically, I split the list in two halves (A & B) and enabled the first part. Upon rebooting, I found that the CPU utilization was normal, so I knew that the problem must be among the second half (B) of the services list. So I proceeded this time by splitting B into two halves again, into C & D and repeat this process of halving until I came down to a few processes starting with "P".
Guess what it came down to? Print Spooler services! Who would've thunk it? And the lab computers were not even hooked to any damned printer! Well, I did a little research on the web and lo and behold... seems like I wasn't the only one. Found out that if you don't have a printer, then chances are you'd have a Microsoft Document Image printer driver kinda thing. It acts like a printer, but doesn't actually produce any output. Unfortunately, when any dumb soul hits the "Print" command and sends it for 'printing', it'll be queued up in that spooler. And these things don't expire! Nor is it infinite space! Similar to a normal printer, I guess, that has a printer buffer/cache/memory, which are now commonly in the 2MB to 16MB range, it can get FULL! So, that was the problem!
All I needed to do then was simple. Just STOP the Print Spooler service via the Manage Console. Empty the "%system directory%\system32\spool\printers" folder. START the Print Spooler service again, and you're DONE! Of course, if you don't have a printer or don't plan to attach any in the near future, you can always disable that service altogether to avoid future problems. I foresee Windows fixing this in the future. Possibly having an expiry to the spooled items, maybe up to 30 days, or enable user to specify. OR get rid of the MS Doc Image thing altogether! Haven't figured out what it's good for yet...
Well, done with that problem. On to the next!
Wednesday, June 28, 2006
The Pains of RAID
Looking back, I wondered, "What in the world DID I learn during my Computer Science degree?" As a IT Support Engineer/Technician, I've been thrown in a pure Microsoft environment and facing problems that I've never been taught of in school. I mean, where did all the algorithms and CPU architecure and logic circuits come into play? Not that I'm blaming the system. Yet, it is fun to learn new things.
So, I finally decided to give it a good shot on the RAID thing. I mean, I've been reading a lot about it, the benefits, the different types of configuration, etc. But since the company has finally purchased the accessories, I figured its about time I actually implemented it.
The DELL Poweredge servers that we had has an on-board RAID controller. Unfortunately, to actually use it, we'd need to purchase a RAID DIMM memory card, a RAID Controller Key, and a RAID Battery. (Who would've though that even RAIDs need its own batteries...) But, then when I read further, we could alternatively use a RAID controller card, in fact it was recommended by on of the DELL technicians that I'm better off buying a card rather than use the on-board controller. Which advice I took...
So, unpackaging the RAID controller card box, I found it was a normal PCI kinda card with a port that obviously needed connecting. (Little did I know at the time that it's a VERY important part of the puzzle) So, I simply plugged it into a PCI slot and waited for magic to happen. I thought that was it. I had actually thought that that was all there was to it. All I needed then was go to the config tool and actually tell it to RAID for me. BEEP! I was wrong... DEAD wrong.
I needed help, so I contacted DELL's support and after about 4 different menus I finally got to someone. Telling my perdicament, I told him that I'm stuck and needed help. So, when it came to the part where I had a card plugged in already, then he told me, "Okay, now take the SCSI CABLE and connect it from the SCSI Backplane to the SCSI RAID controller card..." "OOOOHHHH! So I said, that's what I'm missing. That port that jutted out from the card needs connecting to the MB via another cable!" I thought to myself. So there I was stuck and unmotivated to go further becuase I didn't have any spare SCSI cable on me and I wasn't in the mood to go out and get one right away.
But then I realized something, "Hey, the tape drive is connected with this blue-red-yellowish ribbon, which goes to the SCSI backplane. Could this be another type of SCSI cable?" I asked the technician on the phone. He said, "Yeah. That is one." So I immediately, disconnected the tape drive and plugged it in to the RAID Controller Card. Powered up the machine and PRESTO! Glad I called for help, else I'd be developing white hair as to why the RAID card wasn't working...
So, I finally decided to give it a good shot on the RAID thing. I mean, I've been reading a lot about it, the benefits, the different types of configuration, etc. But since the company has finally purchased the accessories, I figured its about time I actually implemented it.
The DELL Poweredge servers that we had has an on-board RAID controller. Unfortunately, to actually use it, we'd need to purchase a RAID DIMM memory card, a RAID Controller Key, and a RAID Battery. (Who would've though that even RAIDs need its own batteries...) But, then when I read further, we could alternatively use a RAID controller card, in fact it was recommended by on of the DELL technicians that I'm better off buying a card rather than use the on-board controller. Which advice I took...
So, unpackaging the RAID controller card box, I found it was a normal PCI kinda card with a port that obviously needed connecting. (Little did I know at the time that it's a VERY important part of the puzzle) So, I simply plugged it into a PCI slot and waited for magic to happen. I thought that was it. I had actually thought that that was all there was to it. All I needed then was go to the config tool and actually tell it to RAID for me. BEEP! I was wrong... DEAD wrong.
I needed help, so I contacted DELL's support and after about 4 different menus I finally got to someone. Telling my perdicament, I told him that I'm stuck and needed help. So, when it came to the part where I had a card plugged in already, then he told me, "Okay, now take the SCSI CABLE and connect it from the SCSI Backplane to the SCSI RAID controller card..." "OOOOHHHH! So I said, that's what I'm missing. That port that jutted out from the card needs connecting to the MB via another cable!" I thought to myself. So there I was stuck and unmotivated to go further becuase I didn't have any spare SCSI cable on me and I wasn't in the mood to go out and get one right away.
But then I realized something, "Hey, the tape drive is connected with this blue-red-yellowish ribbon, which goes to the SCSI backplane. Could this be another type of SCSI cable?" I asked the technician on the phone. He said, "Yeah. That is one." So I immediately, disconnected the tape drive and plugged it in to the RAID Controller Card. Powered up the machine and PRESTO! Glad I called for help, else I'd be developing white hair as to why the RAID card wasn't working...
Subscribe to:
Posts (Atom)
