diff options
Diffstat (limited to 'include/llfio/v2.0/utils.hpp')
-rw-r--r-- | include/llfio/v2.0/utils.hpp | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/include/llfio/v2.0/utils.hpp b/include/llfio/v2.0/utils.hpp index 147dfc7b..4b8501da 100644 --- a/include/llfio/v2.0/utils.hpp +++ b/include/llfio/v2.0/utils.hpp @@ -205,11 +205,31 @@ namespace utils total_address_space_paged_in = 1U << 1U, private_committed = 1U << 2U, private_paged_in = 1U << 3U, + private_committed_inaccurate = 1U << 8U, - all = (unsigned) -1 // + system_physical_memory_total = 1U << 16U, + system_physical_memory_available = 1U << 17U, + system_commit_charge_maximum = 1U << 18U, + system_commit_charge_available = 1U << 19U, + + this_process = 0x0000ffff, // + this_system = 0xffff0000, // + all = 0xffffffff // } QUICKCPPLIB_BITFIELD_END(want) + //! The total physical memory in this system. + uint64_t system_physical_memory_total{0}; + //! The physical memory in this system not containing dirty pages i.e. is currently used for file system caching, or unused. + uint64_t system_physical_memory_available{0}; + + //! The maximum amount of memory which can be committed by all processes. This is typically physical RAM plus swap files. Note that swap files can be added + //! and removed over time. + uint64_t system_commit_charge_maximum{0}; + //! The amount of commit charge remaining before the maximum. Subtract this from `system_commit_charge_maximum` to determine the amount of commit charge + //! consumed by all processes in the system. + uint64_t system_commit_charge_available{0}; + //! The total virtual address space in use. size_t total_address_space_in_use{0}; //! The total memory currently paged into the process. Always `<= total_address_space_in_use`. Also known as "working set", or "resident set size including @@ -248,7 +268,7 @@ namespace utils We therefore supply as `private_committed` the same value as `private_paged_in`. */ LLFIO_HEADERS_ONLY_FUNC_SPEC result<process_memory_usage> - current_process_memory_usage(process_memory_usage::want want = process_memory_usage::want::all) noexcept; + current_process_memory_usage(process_memory_usage::want want = process_memory_usage::want::this_process) noexcept; /*! \brief CPU usage statistics for a process. */ |