Description
For debugging system performance (eg. IO500) it is desirable to have an easy way to collect all of the Lustre tuning parameters for each run. Since "lctl get_param" lists both statistics and tunable parameters, just doing "lctl get_param -R '*'" dumps far too much information to be useful.
Running "lctl list_param -RF '*' | grep '='" will list all of the writable parameters, but unfortunately many of the statistics files are writable so that the statistics can be reset. Most of the statistics parameters have "stats" in the name. The symlinks from lov/target_obds/ and lmv/target_obds/ to the osc and mdc devices are redundant and should be skipped. There are also a few parameters that are write-only that should be skipped, but there is no easy way to tell this externally.
Something equivalent to the following command that lists only read+writable parameters, and exclude some, is close to providing the proper list of tunable parameters:
lctl list_param -RF '*' | grep = | tr -d '=' | egrep -v "console|debug_|fail_|force|import|\<nis\>|panic_|peers|sepol|stats|target_obd" | sed -e 's/OST[0-9]*/OST*/' -e 's/MDT[0-9]*/MDT*/' -e "s/$(lfs getname -i)/*/" | sort -u
Having something like "dshbak" or "bash_completion" to collapse common parameters with a '*' would both make the output more compact and easier to read, and make it clear if there are some osc/mdc devices that are tuned differently, whether on purpose or accidentally.
Attachments
Issue Links
- is related to
-
LU-14590 add output aggregation for "lctl get_param"
- Open
-
LU-17237 option for 'lctl list_param' to print parameter pathname
- Resolved
-
LU-17343 mechanism to resolve 'lctl get_param' parameters to pathnames
- Resolved
-
LU-17416 lctl get_param/list_param option to avoid following symlinks
- Resolved