diff --git a/src/share/ob_tenant_mgr.cpp b/src/share/ob_tenant_mgr.cpp index d4afb296f7..e0f6c16950 100644 --- a/src/share/ob_tenant_mgr.cpp +++ b/src/share/ob_tenant_mgr.cpp @@ -26,13 +26,12 @@ int64_t get_virtual_memory_used() { - constexpr int BUFFER_SIZE = 128; - char filename[BUFFER_SIZE]; int64_t page_cnt = 0; - snprintf(filename, BUFFER_SIZE, "/proc/%d/statm", getpid()); - FILE* statm = fopen(filename, "r"); - fscanf(statm, "%ld", &page_cnt); - fclose(statm); + FILE* statm = fopen("/proc/self/statm", "r"); + if (OB_NOT_NULL(statm)) { + fscanf(statm, "%ld", &page_cnt); + fclose(statm); + } return page_cnt * sysconf(_SC_PAGESIZE); }