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

Function cbm_mem_peak_rss

src/foundation/mem.c:443–462  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

441}
442
443size_t cbm_mem_peak_rss(void) {
444 size_t peak_rss = 0;
445 mi_process_info(NULL, NULL, NULL, NULL, &peak_rss, NULL, NULL, NULL);
446 /* Peak RSS is by definition >= current RSS. On Linux cbm_mem_rss() reads the
447 * live /proc/self/statm value (page-granular), while mimalloc's peak_rss
448 * comes from getrusage's ru_maxrss (KB-granular, and it can lag the live
449 * statm read by a few pages). Reading the two sources independently lets a
450 * fresh current read momentarily exceed the reported peak, breaking the
451 * peak >= current invariant. Reconcile them: the true peak is at least the
452 * current RSS. (Not observable on macOS, where both come from mimalloc.) */
453 size_t current = cbm_mem_rss();
454 if (current > peak_rss) {
455 peak_rss = current;
456 }
457 if (peak_rss > 0) {
458 return peak_rss;
459 }
460 /* No OS fallback for peak — return current as best approximation */
461 return os_rss();
462}
463
464size_t cbm_mem_budget(void) {
465 return g_budget;

Callers 5

write_diagnosticsFunction · 0.85
log_extract_mem_statsFunction · 0.85
log_phase_memFunction · 0.85
test_mem.cFile · 0.85
index_repo_timedFunction · 0.85

Calls 2

cbm_mem_rssFunction · 0.85
os_rssFunction · 0.85

Tested by 1

index_repo_timedFunction · 0.68