diff --git a/libmeminfo/src/meminfo.cpp b/libmeminfo/src/meminfo.cpp index 9bdd39805004da79a7f3893db21e5d88e755803d..d79051425f83c125d5b138f36677d4e359c36adf 100644 --- a/libmeminfo/src/meminfo.cpp +++ b/libmeminfo/src/meminfo.cpp @@ -120,22 +120,23 @@ bool GetGraphicsMemory(const int pid, uint64_t &gl, uint64_t &graph) for (const auto &memTrackerType : MEMORY_TRACKER_TYPES) { std::vector records; - if (memtrack->GetDevMem(pid, memTrackerType.first, records) == HDF_SUCCESS) { - uint64_t value = 0; - for (const auto &record : records) { - if ((static_cast(record.flags) & FLAG_UNMAPPED) == FLAG_UNMAPPED) { - value = static_cast(record.size / BYTE_PER_KB); - break; - } - } - if (memTrackerType.first == MEMORY_TRACKER_TYPE_GL) { - gl = value; - ret = true; - } else if (memTrackerType.first == MEMORY_TRACKER_TYPE_GRAPH) { - graph = value; - ret = true; + if (memtrack->GetDevMem(pid, memTrackerType.first, records) != HDF_SUCCESS) { + continue; + } + uint64_t value = 0; + for (const auto &record : records) { + if ((static_cast(record.flags) & FLAG_UNMAPPED) == FLAG_UNMAPPED) { + value = static_cast(record.size / BYTE_PER_KB); + break; } } + if (memTrackerType.first == MEMORY_TRACKER_TYPE_GL) { + gl = value; + ret = true; + } else if (memTrackerType.first == MEMORY_TRACKER_TYPE_GRAPH) { + graph = value; + ret = true; + } } return ret; }