Kernel

Disable bios network names

  • Edit /etc/default/grub and add the following to GRUB_CMDLINE_LINUX
net.ifnames=0 biosdevname=0
  • Run the command update-grub

USB shuts itself down

  • Append usbcore.autosuspend=-1 to kernel parameters

What is load?

cat /proc/loadavg
  • field 1-3 = load average of jobs in the run queue (state R) or waiting for disk I/O (state D) averaged over 1, 5, and 15 minutes
  • field 4 = number of currently runnable kernel scheduling entities (processes, threads) / number of kernel scheduling entities that currently exist on the system
  • field 5 PID of the process that was most recently created on the system

Find out which driver is in use

  • network card
ls -al /sys/class/net/eth5/device/driver/module
  • generic
lspci | grep VGA
02:00.0 VGA compatible controller: Matrox Electronics Systems Ltd. MGA G200e [Pilot] ServerEngines (SEP1) (rev 02)

find /sys | grep driver.*02:00
  • or more easy
lspci -vv

Use old network device names

  • Start kernel with the parameters net.ifnames=0 biosdevname=0
  • Or disable automatic renaming in udev
ln -s /dev/null /etc/udev/rules.d/80-net-setup-link.rules
  • Or rename devices with udev
cat > /etc/udev/rules.d/99-rename-to-eth0.rules << EOF
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="$(cat /sys/class/net/ens33/address)", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
EOF

Availale parameters for kernel module

modinfo <module_name>

Show current kernel boot parameters

cat /proc/cmdline

Hotplug CPUs

  • Enable
echo 1 > /sys/devices/system/cpu/cpu<No>/online
  • Disable
echo 1 > /sys/devices/system/cpu/cpu<No>/online

Check if virtualization is enabled

grep vmx /proc/cpuinfo

Check if TPM is available

grep smx /proc/cpuinfo

Hide kernel symbols

  • Create /etc/sysctl.d/50-kptr-restrict.conf
kernel.kptr_restrict = 1