I spent the weekend by hunting down the reason a computer was running sluggishly. I noticed that the system would wait at the Microsoft Windows XP splash screen for a couple of minutes while starting up. I activated the task manager just as the desktop was being displayed. According to the information that it provided, a process was responsible for 99% of the processor load.
I deduced that the problem was spyware. I believed it would require some modification to the system. Because the system’s owner expressed concerns about data retention, I decided to perform a raw backup before I took corrective action. I rebooted the computer into a LiveCD version of CentOS 4.4, mounted an SMB share, and used the following command from linuxquestions.org:
dd if=/dev/hda | gzip -c \
| split -b 2000m – /mnt/smb/backup.img.gz.
A write back to the hard drive is performed with the following:
cat /mnt/smb/backup.img.gz.* | gzip -dc | dd of=/dev/hda
I thought that in order to improve performance, I would need to address the offensive process. I uninstalled a program called “Spyware Terminator,” the probable owner of the process that was eating up processor resources. I have known that AVG can consume 99% of the processing power at times as Spyware Terminator did, but I did not remove AVG, because of simple brand recognition. Perhaps due to my lack of IT work experience, I have never heard of Spyware Terminator, and it was one of my first targets for removal. It may be an excellent program from what I do not know.
The system seemed to perform better than it did before Spyware Terminator was removed, though it continued to stall on the Microsoft Windows splash screen. A friend suggested that I run AVG in safe mode. I did not think about doing that, because of my past failed attempts to install AVG in safe mode. I observed the computer stall as the listing of files that were being loaded during boot into safe mode was displayed. It seemed to stall on the same file, hup.sys, so I did a lookup on Google and found something about hanging on hup.sys and possible hardware faults.
While booting up the CentOS LiveCD earlier, I noticed messages regarding an inability to read hard drive sectors. The requests were timing out. I did not think much of it at the time. After all, GNU/Linux is a bit more verbose about problems than Microsoft Windows. I checked the event logger in Microsoft Windows, and it indicated a problem with the hard drive as well. I downloaded a hard drive test utility from the system’s hard drive manufacturer. The short self-test passed, but the long self-test failed.
The culprit of the computer’s degraded performance was isolated to a failing hard drive. Microsoft Window’s drive manager may report the drive as healthy, but a number of tools indicate that the problem is with the hard drive. I swapped out the hard drive, loaded the CentOS LiveCD, used dd to write the backup image of the original hard drive to the new hard drive, and rebooted into Windows.
Success was very apparent upon boot. The splash screen was displayed for seven seconds as opposed to the minute or two that it was displayed when the computer was first brought to me. With a sense of accomplishment, I polished up my work by applying updates, setting up auto-updates, and scheduling virus scans. I used ScanDisk and the disk defragmentation tool, and it was ready for release to the computer’s owner.
I believed that I eliminated the problem by removing Spyware Terminator, but I was not satisfied with the slight increase in performance. If it were my computer, I would investigate the problem further, and I did for this computer. Taking ownership in the technical tasks that I perform has helped me bring about quality in my work and satisfaction for the people who use the product of my work. As I take on jobs, I think about how I would want other people to do things for me. I also think about how I would want to do things for myself and apply those thoughts to tasks that are done for others. Not being satisfied with marginally acceptable results lead to the diagnosis of a problem that allowed for a significant increase in performance when resolved.