Cloud Radio Access Network (C-RAN) has been proposed as a cloud architecture to provide a common connected resource pool management. It separates the functionalities of the traditional Base Station (BS) into two parts: the Base Band Unit (BBU) and the Remote Radio Head (RRH). BBUs functions are implemented on the Virtual Machines (VMs) in the cloud over commodity hardware, serving User Equipments (UEs) by generating VMs. In this regard, a more accurate adjustment of the number of VMs in a BBU is a challenge. This paper proposes a VM allocation scheme in C-RAN using the hysteresis and migration mechanisms jointly. The goal is to ensure the system’s load balancing and preserve energy. The hysteresis mechanism with different thresholds adjusts the number of active VMs required to serve all UEs by putting idle VMs in sleep mode and activating them as needed. Whereas, the load balancing is achieved by the proposed allocation scheme and the migration of calls from most loaded to least loaded BBU. We use Discrete-Time Markov Decision Processes (MDPs) to enhance both the performance and energy efficiency in the VM allocation schemes. These objectives are achieved by the different decisions of a controller, who should choose the best decision at each time slot. We analyze the performance of the proposed scheme by Probabilistic Model Checking (PMC). Performance requirements are specified using Probabilistic Computation Tree Logic (PCTL) suitable for MDP models. We also check multi-objective properties, by generating Pareto curves, to evaluate the tradeoff based on which the controller can decide. We use the PRISM model checker to build and analyze the MDP models.