Graph processing has received significant attention for its ability to cope with large-scale and complex unstructured data in the real-world. However, most of the graph processing applications exhibit an irregular memory access pattern which leads to a poor locality in the memory access stream [1], and [2] reveals that the sub-optimal use of the cache hierarchy can result in the CPU only works in the range of 10% to 45% of the overall graph processing time. Furthermore, the operating characteristics are discrepant in various graph applications [3], which cause the efficiency of existing graph processing frameworks is bogged down by a single memory organization. Consequently, how to design an efficient memory data organization strategy is key to accelerating graph processing.In the current literature, existing optimized memory data organization strategies could improve locality during graph processing to some extent, but there are still some deficiencies: (1) inability to combine the memory access pattern with the structural information of a graph well; (2) limited efficiency and a lot of preprocessing overhead on the large-scale graphs; (3) only a single memory data organization to deal with all graph applications or design for some specific graph processing tasks.To address the above challenges, we propose GMDO, an efficient memory data organization strategy based on the application operating characteristics. Specifically, GMDO consists of GMDO-VR and GMDO-VI for traversal and iterative applications, respectively, the former adopts the relevance degree to organize data more granular to ensure the locality during traversal, while the latter accelerates vertex convergence based on the vertex influence to deal with the long-tailed distribution in the iteration.In a nutshell, our contributions are summarized as follows:• We explore the dynamic running characteristics for traversal and iterative applications, and demonstrate that no single solution is adapted for both graph domains.