During the course of a server crash or a hack or an invading virus, I've learned to, instead of sitting around dumfounded, wondering what to do, wondering who is going to save me from this living he-- ...yup, instead of all that, I've learned to keep my head on, think, and write code. That’s what has always been my saving grace.
Ok, finally, now I can rest. Here’s why...
For the most part, I write code out of necessity. While I do wish I could give it away, like some programmers do, I can't. You see, I don't work for a big company. I don't’ report to a company that provides a paycheck every so often. I am a contract programmer. I find my own work (hopefully). In-between contracts, which aren't nearly as frequent as I'd like them to be, I make my living by selling software tools on Web sites like Server Automation Tools dot com.
Most of the tools that I develop are out of a sheer need to survive. Out of panic you might say. Tools which are written fast and furiously in the middle of crisis situations which mostly occur very late at night. Tools that have, for more times than I can count, saved my bu--. During the course of a server crash or a hack or an invading virus, I've learned to, instead of sitting around dumfounded, wondering what to do, wondering who is going to save me from this living he-- yea, Instead of all that, I've learned to keep my head on and write code. That’s what has always been my saving grace.
I call it “babysit code.” Because most of the code I write is only a temporary solution. A temporary solution while I continue to trouble-shoot, or, in some cases, call in the big guns like - MICROSOFT TECH SUPPORT.
Yup, my tools buy me time. Even if I *could* grab the nearest underling and offer him/her a nice tuna sandwich in return for them sitting in front of a server staring aimlessly at the task manager or the performance monitor waiting for the CPU to get pegged (pegged: that means to stick at 100% CPU usage and not give in) I don't think I could live with the guilt of the torment I would put them through. Writing a nice tool to baby sit the server is a much better use of ones time. And, it’s even fun to do.
On the personal side, I have quite a nice family, three little kids, and I like to provide them with the best that I can. God bless those programmers that can afford the time to create programs for free. I know that I have used a few and I take my hats (I wear many hats) off to those guys. I don't know how they do it. Maybe they are related to Bill Gates III, I don't know. But I do know that I can't afford to write for free.
Oh, yea, the point of it all...
For the past few months I have been working full time on new programs and exploring new ideas for new tools. This past week I wrote this very helpful tool I call
The CPU Checker.
Lucky me, I have been experiencing, off and on, high CPU usage on one of the Web servers I administer. I am sure it has to do with some rouge code gone bad in one of the client apps but until I find out for sure I want piece of mind. The CPU Checker was born.
The idea behind The CPU Checker , or, what it does is, it runs via a scheduler every 10 minutes and checks total CPU percent. If the CPU percent is over 90 for more than 10 minutes the program emails me and emails my pager - which in turn lets off a vibration and a very loud and long noisy tone - I hate it. The CPU Checker can also run a bat file as well. In the bat file you can place commands to kill a DLLHOST.EXE or the INETINFO.EXE process, if these are the problem processes. In my case they were.
The CPU Checker is completely configurable via an ini file. During the course of one run of the program you can set the number times to test the CPU percent (commonly referred to as a loop), you can set the CPU percent to test, and, you can define the bat file to run.
The CPU Checker has been a wonderful life saver for me. This is a great tool that every IIS administrator or even a regular ol’ Windows server administrator can use, as I know that I am not alone in experiencing these types of problems on a Web server, SQL server, Index server, Print server, File server....you name it!
I even continue to run The CPU Checker today as part of my daily quest in maximizing server uptime.
Try it out by
downloading the demo. It’s a FREE demo. I don’t even ask for your e-mail address. The only restriction in the DEMO is that it will not send e-mail.
If you like this article or maybe had a similar experience and would like to share it with other readers then feel free to:
Simply fill in YOUR e-mail address, your name and your comment. Click the SEND button.
After submitting your comment, you will be transported back to the
article you commented on!
John Cesta is a contract programmer. John's current project is designer and lead developer of the automated hosting software at bestcfhosting.com, a ColdFusion MX hosting company.
John is currently working on commercializing his programs and offering them to the IIS community at serverautomationtools.com