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

Function cbm_mem_peak_rss

src/foundation/mem.c:472–491  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

470}
471
472size_t cbm_mem_peak_rss(void) {
473 size_t peak_rss = 0;
474 mi_process_info(NULL, NULL, NULL, NULL, &peak_rss, NULL, NULL, NULL);
475 /* Peak RSS is by definition >= current RSS. On Linux cbm_mem_rss() reads the
476 * live /proc/self/statm value (page-granular), while mimalloc's peak_rss
477 * comes from getrusage's ru_maxrss (KB-granular, and it can lag the live
478 * statm read by a few pages). Reading the two sources independently lets a
479 * fresh current read momentarily exceed the reported peak, breaking the
480 * peak >= current invariant. Reconcile them: the true peak is at least the
481 * current RSS. (Not observable on macOS, where both come from mimalloc.) */
482 size_t current = cbm_mem_rss();
483 if (current > peak_rss) {
484 peak_rss = current;
485 }
486 if (peak_rss > 0) {
487 return peak_rss;
488 }
489 /* No OS fallback for peak — return current as best approximation */
490 return os_rss();
491}
492
493size_t cbm_mem_budget(void) {
494 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