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