Software rejuvenation is modeled in a client–server system, which provides resources to priority classes of users. To assure availability, resource reservation policies are adopted for the higher priority classes. In addition software rejuvenation is proposed to optimize resource availability. The system is modeled by a cyclic nonhomogeneous Markov chain to capture the variation of the arrival and service rates during a day period. An optimization problem is solved based on a similar previous work and given the optimal resource reservation policy obtained by its solution, rejuvenation is performed and the optimal rejuvenation policy is determined. As a measure of resource availability the blocking probability of each priority class is used. Performability indicators expressing the total cost are also derived, with respect to the optimal resource reservation and optimal rejuvenation policies, to examine whether rejuvenation benefits the system in terms of cost. To derive the blocking probabilities, the limiting probability distribution is computed using explicit generalized approximate inverse preconditioning for solving efficiently sparse linear systems of algebraic equations. Copyright © 2012 John Wiley & Sons, Ltd.