.TH LCTL-SET_PARAM 8 2026-03-06 Lustre "Lustre Configuration Utilities" .SH NAME lctl-set_param \- Lustre tunable parameter setting utility .SH SYNOPSIS .SY "lctl set_param" .RB [ --client | -C\c .RI [ FSNAME ]] .RB [ --delete | -d ] .RB [ --file | -F ] .RB [ --no-name | -n ] .RB [ --module | -o ] .RB [ --permanent | -P ] .RB [ --threads | -t\c .RI [ THREAD_COUNT ]] .IR PARAMETER \= VALUE " ..." .SY "lctl set_param -F" .I FILENAME .YS .SH DESCRIPTION Set the value of the named Lustre or LNet .I PARAMETER to .I VALUE on the local node, or permanently on the MGS for the whole filesystem. Parameter names consist of one or more components, separated by a '.' (period). Each component may be specified by plain text or with a wildcard in the .BR glob (7) format, typically using .RB ' * ' to match all named instances of the given parameter. When wildcards are used, more than one parameter may match and be changed, simplifying configuration for large filesystems with many instances of a device. Parameters are often, but not always, of the form .IR OBD_NAME.OBD_INSTANCE.PARAMETER_NAME , where .I OBD_NAME is one of the OBD object types, like .BR ldlm ", " llite ", " lmv ", " lov ", " mdc ", " osc , etc., and .I OBD_INSTANCE is the name of a Lustre device, like .BR testfs-OST0000 , but may be a specific component, or contain wildcards to match some or all device instances. Parameters can only be modified by the root user for security reasons. .SH OPTIONS The various options supported by .B lctl get_param are listed and explained below: .TP .BR -C ", " --client Instead of setting the parameter once, write the parameter to the .B /etc/lustre/mount.client.params config file on the local node. On all future Lustre client mounts .B on only that node those parameters will be set on the local node. If .I FSNAME was specified, the parameters will be instead written to the filesystem-specific .BI /etc/lustre/mount. FSNAME .params config file on the local node. The filesystem specific params will be set only when that filesystem is mounted on that local node and will override the more generic client mount parameters from the .B /etc/lustre/mount.client.params file or permanent parameters from the MGS. .TP .BR -d ", " --delete Remove the permanent setting (only for filesystem-wide parameters set with .B -P on the MGS or with .B -C on the local node). .TP .BR -F ", " --file Set parameters from .I FILENAME instead of from the command-line. The contents of .I FILENAME is YAML format, created by the output from running .RB ' "lctl llog_print" .I FSNAME\c .BR -client ', or from any other valid llog configuration log as listed by .RB ' "lctl llog_catlist" '. .TP .BR -n ", " --no-name Disable printing of the parameter name after setting it. .TP .BR -o ", " --module Allow module parameters to be visible to the .B lctl set_param command. The module parameters will be set on the local node at module load time. .TP .BR -P ", " --permanent Set .I PARAMETER permanently in the MGS configuration log for .B all mountpoints using the MGS where the command is run, both now and in the future. To limit wildcard .I PARAMETER matching to specific filesystems or parameters, itvis preferred that .I PARAMETER contains a suitably-specific expression for the .I OBD_NAME and .IR OBD_INSTANCE , such as the .B FSNAME and/or specific target name. .TP .BR -t ", " --threads " ["\fITHREAD_COUNT\fR] Spawn threads to set multiple parameters in parallel, optionally specifying the maximum number of threads to run (with no space between .B -t and .IR THREAD_COUNT ). Without this option the specified parameter(s) are set serially. If .B lctl was compiled without pthread support, a warning message will be printed and parameters will be set serially. If .B -t is specified without any argument, it runs up to 8 threads by default. .SH BASH COMPLETION This command supports .BR bash-completion (1) for tab completion of parameter names available on the local node, with suitable shell and package installation. This can greatly simplify finding which parameters are available, instead of running .BR lctl-list_param (8) repeatedly. To list long options (more descriptive and easily understood) type .RB ' --TAB ', and to list short options type .RB ' -TAB '. .SH EXAMPLES Set two parameters temporarily on the local node: .RS .EX .B client# lctl set_param jobid_name=%H:%e:%u debug_mb=1024 jobid_name=%H:%e:%u debug_mb=1024 .EE .RE .PP Set two parameters, but don't print parameter names with the values: .RS .EX .B client# lctl set_param -n jobid_name=%H:%e:%u debug_mb=1024 %H:%e:%u 1024 .EE .RE .PP Run two parallel threads to set parameters that may do a lot of work: .RS .EX .B client# lctl set_param -t2 "ldlm.namespaces.*osc*.lru_size=clear" ldlm.namespaces.fsname-OST0001-osc-MDT0000.lru_size=clear ldlm.namespaces.fsname-OST0000-osc-MDT0000.lru_size=clear .EE .RE .PP Permanently set a parameter with a wildcard in the MGS config llog: .RS .EX .B mgs# lctl set_param -P osc.testfs-OST*.max_dirty_mb=512 osc.testfs-OST0000-osc-ffff8803c9c0f000.max_dirty_mb=512 osc.testfs-OST0001-osc-ffff8803c9c0f000.max_dirty_mb=512 osc.testfs-OST0002-osc-ffff8803c9c0f000.max_dirty_mb=512 osc.testfs-OST0003-osc-ffff8803c9c0f000.max_dirty_mb=512 osc.testfs-OST0004-osc-ffff8803c9c0f000.max_dirty_mb=512 .EE .RE .PP Permanently set .B osc.testfs-*.max_dirty_mb=2000 when mounting 'testfs' and .B osc.testfs-*.max_dirty_mb=1024 for other Lustre mountpoints on this client node: .RS .EX .B client# lctl set_param -C=test_fs osc.testfs-*.max_dirty_mb=2000 .B client# lctl set_param -C osc.*.max_dirty_mb=1024 .RE .EE .PP Backup the .RB ' params ' configuration log, and then restore it (at some later time): .RS .EX .B mgs# lctl llog_print params > /home/admin/params.yaml [ params log is erased, not shown here ] .B mgs# lctl set_param -F /home/admin/params.yaml .RE .EE .SH AVAILABILITY .B lctl set_param is part of the .BR lustre (7) filesystem package since release 1.7.0 .\" Added in commit 1.6.0-903-g04af22fc24 .SH SEE ALSO .BR lustre (7), .BR lctl (8), .BR lctl-find_param (8), .BR lctl-get_param (8), .BR lctl-help_param (8), .BR lctl-list_param (8), .BR lctl-llog_catlist (8), .BR lctl-llog_print (8)