17 memoryLoad::parseMemoryFile()
19 if (timeStamp + std::chrono::milliseconds(10) > std::chrono::steady_clock::now())
23 std::ifstream memoryFile;
24 memoryFile.open(this->memInfoFile);
25 this->timeStamp = std::chrono::steady_clock::now();
26 if (!memoryFile.is_open())
32 while (std::getline(memoryFile, line))
34 sscanf(line.c_str(),
"MemTotal: %" PRIu64, &this->totalMemoryInKB);
35 sscanf(line.c_str(),
"MemAvailable: %" PRIu64, &this->currentMemoryUsageInKB);
44 this->parseMemoryFile();
45 return this->totalMemoryInKB;
51 this->parseMemoryFile();
58 this->parseMemoryFile();
66 return this->parseProcessMemoryFile(this->memInfoOfProcessFile);
72 return memoryLoad::parseProcessMemoryFile(
"/proc/" +
std::to_string(pid) +
"/status");
76 memoryLoad::parseProcessMemoryFile(std::string fileToParse)
79 std::ifstream memoryFile;
80 memoryFile.open(fileToParse);
82 while (std::getline(memoryFile, line))
84 sscanf(line.c_str(),
"VmSize: %" PRIu64, &MemFree);