The Linux Kernel itself can set limitations on a system as well. These limits are defined based on kernel parameters. Some of these parameters are static and cannot be changed during runtime; while others can. When a kernel parameter can be changed during runtime this is called a tunable parameter.
We can see both static and tunable kernel parameters and their current values by using the
# sysctl -a | head abi.vsyscall32 = 1 crypto.fips_enabled = 0 debug.exception-trace = 1 debug.kprobes-optimization = 1 dev.hpet.max-user-freq = 64 dev.mac_hid.mouse_button2_keycode = 97 dev.mac_hid.mouse_button3_keycode = 100 dev.mac_hid.mouse_button_emulation = 0 dev.parport.default.spintime = 500 dev.parport.default.timeslice = ...