| 417 | } |
| 418 | |
| 419 | Future<Void> startMemoryUsageMonitor(uint64_t memLimit) { |
| 420 | if (memLimit == 0) { |
| 421 | return Void(); |
| 422 | } |
| 423 | auto checkMemoryUsage = [=]() { |
| 424 | if (getResidentMemoryUsage() > memLimit) { |
| 425 | platform::outOfMemory(); |
| 426 | } |
| 427 | }; |
| 428 | return recurring(checkMemoryUsage, FLOW_KNOBS->MEMORY_USAGE_CHECK_INTERVAL); |
| 429 | } |
no test coverage detected