Viewing: at_max.4
.TH AT_MAX 4 2026-03-31 Lustre "Lustre Kernel Interfaces"
.SH NAME
at_max \- maximum seconds for RPC adaptive timeout estimate
.SH SYNOPSIS
.SY
.BI "lctl get_param *." FSNAME "*.at_max"
.SY
.BI "lctl get_param at_max"
.SY
.BI "lctl set_param *." FSNAME "*.at_max=" TIMEOUT_MAX_SECONDS
.SY
.BI "lctl set_param at_max=" TIMEOUT_MAX_SECONDS
.YS
.SS PROPERTIES
.TP
.B Access Permissions
.BR 644 " | " -rw-r--r--
.TP
.B Scope
.br
Global and per import and target device
.TP
.br
.B Config
.br
Always present
.TP
.B Default
.br
.RB at_max= 600
.TP
.B Valid Range
.br
.RB at_max= at_min
.br
.RB at_max= 3600
.SH DESCRIPTION
The
.B at_max
parameter sets the upper limit on the service time estimate to
.IR TIMEOUT_MAX_SECONDS .
Together with
.BR at_min (4),
this sets the range within which client RPC timeouts are estimated. If
.B at_max
is reached, then the RPC timeout will not increase further even if RPCs
take longer to complete under heavy load.
This includes the rolling maximum RPC and network delays over the past
.BR at_history (4)
seconds.
Clients base their timeouts on this value,
but they do not use this value directly.
.PP
Setting
.B at_max
to 0 causes adaptive timeouts to be disabled and the fixed
.B timeout
parameter is used to calculate timeouts instead.
.PP
If slow hardware causes the service estimate to increase beyond the default
.B at_max
value, increase
.B at_max
to the maximum time you are willing to wait for an RPC completion.
.PP
It is preferred to set
.B at_max
as a per-target tunable using the
.BI *. FSNAME - TARGET *.at_max
parameter instead of the global at_max parameter. This avoids issues if a
single client mounts two separate filesystems with different at_max settings.
.SH MODULES
This parameter is in the following modules:
.EX
.B at_max
.B mdc.*.at_max
.B mdt.*.at_max
.B mgc.*.at_max
.B mgs.*.at_max
.B obdfilter.*.at_max
.B osc.*.at_max
.EE
.SH EXAMPLES
Permanently increase the maximum timeout on nodes of the testfs filesystem:
.EX
.RB mgs# " lctl set_param -P *.testfs*.at_max=900"
.EE
.SH AVAILABILITY
.B at_max
is part of the
.BR lustre (7)
filesystem package since release 1.6.4,
.\" commit 1.6.0-1416-gde3c3fdf25
but the per-subsystem tunables are only present since release 2.16.0.
.\" commit v2_15_58-111-g0f2bc318d7
.SH SEE ALSO
.BR at_early_margin (4),
.BR at_extra (4),
.BR at_history (4),
.BR at_min (4),
.BR ldlm_enqueue_min (4)