As a rising application paradigm and technology, cloud computing can leverage the efficient pooling of on-demand, self-managed virtual infrastructure. How to maximize the resource utilization and how to reduce the cost of configuration are essential issues in cloud computing. In this paper, the authors propose a framework to achieve these objectives by optimizing VM placement and deciding when and how to perform the VM reconfigurations. The authors leverage the vector arithmetic to model the objective of balancing the multiple resource utilization and propose an optimization method for the static VM placement. Then the authors propose a two-level runtime reconfiguration policy, including the local adjustment and the parallel migration, to minimize the reconfiguration cost. Finally, the authors implement a prototype to validate and evaluate the proposed mechanism with a set of preliminary experiments, which shows that our work can maximize the resource utilization while effectively reducing the cost of the runtime reconfiguration.