9#include "MantidKernel/DllConfig.h"
20namespace MemoryOptions {
33 std::string vmUsageStr()
const;
34 std::string resUsageStr()
const;
35 std::string totalMemStr()
const;
36 std::string availMemStr()
const;
37 std::size_t totalMem()
const;
38 std::size_t availMem()
const;
39 std::size_t residentMem()
const;
40 std::size_t virtualMem()
const;
41 std::size_t reservedMem()
const;
42 std::size_t getCurrentRSS()
const;
43 std::size_t getPeakRSS()
const;
44 double getFreeRatio()
const;
47 void process_mem_system(
size_t &sys_avail,
size_t &sys_total);
std::ostream & operator<<(std::ostream &out, const MantidQt::MantidWidgets::IndexType< i > &index)
This class is responsible for memory statistics.
std::size_t avail_memory
Available memory of system in kiB.
static std::mutex mutexMemory
Mutex to avoid simultaneous access to memory resources.
std::size_t res_usage
Resident memory usage by process in kiB.
MemoryStatsIgnore ignore
What fields to ignore.
std::size_t vm_usage
Virtual memory usage by process in kiB.
std::size_t total_memory
Total physical memory of system in kiB.
MANTID_KERNEL_DLL void initAllocatorOptions()
Initialize platform-dependent options for memory management.
MANTID_KERNEL_DLL std::ostream & operator<<(std::ostream &, CPUTimer &)
Convenience function to provide for easier debug printing.
MemoryStatsIgnore
Enmuerate the ignored memory fields.
@ MEMORY_STATS_IGNORE_NONE
@ MEMORY_STATS_IGNORE_SYSTEM
@ MEMORY_STATS_IGNORE_PROCESS
std::string memToString(const TYPE mem_in_kiB)
Convert a (number) for memory in kiB to a string with proper units.
Helper class which provides the Collimation Length for SANS instruments.