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

Function os_rss

src/foundation/mem.c:92–121  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

90/* ── OS fallback for RSS (ASan builds where MI_OVERRIDE=0) ──── */
91
92static size_t os_rss(void) {
93#ifdef _WIN32
94 PROCESS_MEMORY_COUNTERS pmc;
95 if (GetProcessMemoryInfo(GetCurrentProcess(), &pmc, sizeof(pmc))) {
96 return (size_t)pmc.WorkingSetSize;
97 }
98 return 0;
99#elif defined(__APPLE__)
100 struct mach_task_basic_info info = {0};
101 mach_msg_type_number_t count = MACH_TASK_BASIC_INFO_COUNT;
102 if (task_info(mach_task_self(), MACH_TASK_BASIC_INFO, (task_info_t)&info, &count) ==
103 KERN_SUCCESS) {
104 return (size_t)info.resident_size;
105 }
106 return 0;
107#else
108 FILE *f = fopen("/proc/self/statm", "r");
109 if (!f) {
110 return 0;
111 }
112 unsigned long pages = 0;
113 unsigned long rss_pages = 0;
114 if (fscanf(f, "%lu %lu", &pages, &rss_pages) != 2) {
115 rss_pages = 0;
116 }
117 (void)fclose(f);
118 long ps = sysconf(_SC_PAGESIZE);
119 return rss_pages * (ps > 0 ? (size_t)ps : CBM_SZ_4K);
120#endif
121}
122
123/* ── Pressure logging (hysteresis) ────────────────────────────── */
124

Callers 2

cbm_mem_rssFunction · 0.85
cbm_mem_peak_rssFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected