1 #ifndef OSMIUM_UTIL_MEMORY_HPP
2 #define OSMIUM_UTIL_MEMORY_HPP
49 const auto f = line.find_first_of(
"0123456789");
50 const auto l = line.find_last_of(
"0123456789");
51 return std::atoi(line.substr(f, l - f + 1).c_str());
66 static const char* filename =
"/proc/self/status";
67 std::ifstream status_file(filename);
69 if (status_file.is_open()) {
71 while (!status_file.eof()) {
72 std::getline(status_file, line);
73 if (line.substr(0, 6) ==
"VmPeak") {
76 if (line.substr(0, 6) ==
"VmSize") {
86 return m_current / 1024;
98 #endif // OSMIUM_UTIL_MEMORY_HPP
MemoryUsage()
Definition: memory.hpp:64
Definition: memory.hpp:42
int m_current
Definition: memory.hpp:44
Namespace for everything in the Osmium library.
Definition: assembler.hpp:73
static int parse_number(const std::string &line)
Definition: memory.hpp:48
int m_peak
Definition: memory.hpp:45
int current() const
Return current memory usage in MBytes.
Definition: memory.hpp:85
int peak() const
Return peak memory usage in MBytes.
Definition: memory.hpp:90