In recent years, machine-to-machine (M2M) communications have attracted great attentions from both academia and industry. In M2M communication systems, machine type communication devices (MTCDs) are capable of communicating with each other intelligently under highly reduced human interventions. Although diverse types of services are expected to be supported for MTCDs, various quality of service (QoS) requirements and network states pose difficulties and challenges to the resource allocation and clustering schemes of M2M communication systems. In this paper, we address the joint resource allocation and clustering problem in M2M communication systems. To achieve the efficient resource management of the MTCDs, we propose a joint resource management architecture, and design a joint resource allocation and clustering algorithm. More specifically, by defining system energy efficiency as the sum of the energy efficiency of the MTCDs, the joint resource allocation and clustering problem is formulated as an energy efficiency maximization problem. As the original optimization problem is a nonlinear fractional programming problem, which cannot be solved conveniently, we transform the optimization problem into power allocation subproblem and clustering subproblem. Applying iterative method-based energy efficiency maximization algorithm, we first obtain the optimal power allocation strategy based on which, we then propose a modified K-means algorithm to obtain the clustering strategy. Numerical results demonstrate the effectiveness of the proposed algorithm. INDEX TERMS Machine-to-machine (M2M) communications, resource allocation, clustering, energy efficiency.