The dramatic growth of machine-to-machine (M2M) communication in cellular networks brings the challenge of satisfying the quality of service (QoS) requirements of a large number of M2M devices with limited radio resources. In this paper, we propose an optimization framework for the semi-persistent scheduling of M2M transmissions based on the exploitation of their periodicity with the goal of reducing the overhead of the signaling required for connection initiation and scheduling. The goal of the optimization problem is to minimize the number of frequency bands used by the M2M devices to allow fair resource allocation of newly joining M2M and human-to-human communications. The constraints of the problem are delay and periodicity requirements of the M2M devices. We first prove that the optimization problem is NP-hard and then propose a polynomial-time heuristic algorithm employing a fixed priority assignment according to the QoS characteristics of the devices. We show that this heuristic algorithm provides an asymptotic approximation ratio of 2.33 to the optimal solution for the case where the delay tolerances of the devices are equal to their periods. Through extensive simulations, we demonstrate that the proposed algorithm performs better than the existing algorithms in terms of frequency band usage and schedulability.