NAME
Test2::Harness::Runner::Resource::PipeLimits - Throttle jobs when per-user pipe budget is close to exhausted.
SYNOPSIS
yath test -R PipeLimits
yath test -R PipeLimits --pipe-headroom 15% --pipe-service-count 5
DESCRIPTION
The Linux per-user pipe page budget (/proc/sys/fs/pipe-user-pages-soft) caps how many memory pages across all pipes one user may hold open. Exceeding it makes new pipe(2) calls fail.
PipeLimits computes pipe-page usage from in-flight tests: each test consumes pipes_per_test pipes, plus a fixed service_count * pipes_per_service baseline. Defers new starts when launching another would push usage past the configured headroom.
--pipe-headroom may be a count of pages or a percent of the cap. --utilize PCT layers on top; effective threshold is the more conservative of the two.
LIMITATIONS
Linux only. Counts only pipes opened by tests this resource has been told about via assign/release; system-wide use is reflected in the cap reading.
SOURCE
The source code repository for Test2-Harness can be found at http://github.com/Test-More/Test2-Harness/.
MAINTAINERS
AUTHORS
COPYRIGHT
Copyright Chad Granum <exodist7@gmail.com>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
See http://dev.perl.org/licenses/