1. A method for monitoring the health of a server comprising: maintaining a server having a sub-system and a server self health monitor; detecting the occurrence of a health check event by the server self health monitor; transmitting a request by the server self health monitor to the sub-system for sub-system health information; determining the health of the server by the server self health monitor using the sub-system health information; and performing a corrective action upon the sub-system, by the server health monitor or the sub-system, wherein the corrective action is based on the health of the sub-system; and wherein a first parameter specifies the maximum number of times a server can be restarted within a period of time specified by a second parameter.