base/include/system/memory/memory_info.h¶
Memory Detections Using for System Detection. More...
Namespaces¶
| Name |
|---|
| cf |
Classes¶
| Name | |
|---|---|
| struct | cf::DimmInfo DIMM (Memory Module) information. |
| struct | cf::PhysicalMemory Physical memory information. |
| struct | cf::SwapMemory Virtual memory / Swap space information. |
| struct | cf::CachedMemory Linux-specific cached memory information. |
| struct | cf::ProcessMemory Process memory usage information. |
| struct | cf::MemoryInfo Comprehensive memory information for system detection. |
Detailed Description¶
Memory Detections Using for System Detection.
Author: Charliechen114514 (chengh1922@mails.jlu.edu.cn)
Version: 0.1
Date: 2026-02-23
Copyright: Copyright © 2026
Source code¶
#pragma once
#include <cstdint>
#include <string>
#include <vector>
namespace cf {
enum class MemoryType : uint8_t {
UNKNOWN = 0,
DDR3,
DDR4,
DDR5,
LPDDR3,
LPDDR4,
LPDDR4X,
LPDDR5,
DDR2,
SDRAM
};
struct DimmInfo {
uint64_t capacity_bytes;
MemoryType type;
uint32_t frequency_mhz;
std::string manufacturer;
std::string part_number;
std::string serial_number;
uint8_t channel;
uint8_t slot;
};
struct PhysicalMemory {
uint64_t total_bytes;
uint64_t available_bytes;
uint64_t free_bytes;
};
struct SwapMemory {
uint64_t total_bytes;
uint64_t free_bytes;
};
struct CachedMemory {
uint64_t buffers_bytes;
uint64_t cached_bytes;
uint64_t shared_bytes;
uint64_t slab_bytes;
};
struct ProcessMemory {
uint64_t vm_rss_bytes;
uint64_t vm_size_bytes;
uint64_t vm_peak_bytes;
};
struct MemoryInfo {
PhysicalMemory physical;
SwapMemory swap;
CachedMemory cached;
ProcessMemory process;
std::vector<DimmInfo> dimms;
};
void getSystemMemoryInfo(MemoryInfo& info);
} // namespace cf
Updated on 2026-03-09 at 10:14:01 +0000