MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / os_rss

Function os_rss

src/foundation/mem.c:43–72  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41/* ── OS fallback for RSS (ASan builds where MI_OVERRIDE=0) ──── */
42
43static size_t os_rss(void) {
44#ifdef _WIN32
45 PROCESS_MEMORY_COUNTERS pmc;
46 if (GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc))) {
47 return (size_t)pmc.WorkingSetSize;
48 }
49 return 0;
50#elif defined(__APPLE__)
51 struct mach_task_basic_info info = {0};
52 mach_msg_type_number_t count = MACH_TASK_BASIC_INFO_COUNT;
53 if (task_info(mach_task_self(), MACH_TASK_BASIC_INFO, (task_info_t)&info, &count) ==
54 KERN_SUCCESS) {
55 return (size_t)info.resident_size;
56 }
57 return 0;
58#else
59 FILE *f = fopen("/proc/self/statm", "r");
60 if (!f) {
61 return 0;
62 }
63 unsigned long pages = 0;
64 unsigned long rss_pages = 0;
65 if (fscanf(f, "%lu %lu", &pages, &rss_pages) != 2) {
66 rss_pages = 0;
67 }
68 (void)fclose(f);
69 long ps = sysconf(_SC_PAGESIZE);
70 return rss_pages * (ps > 0 ? (size_t)ps : CBM_SZ_4K);
71#endif
72}
73
74/* ── Pressure logging (hysteresis) ────────────────────────────── */
75

Callers 2

cbm_mem_rssFunction · 0.85
cbm_mem_peak_rssFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected