Improve boot performance
This article contains some tips on how you can improve your boot performance.
- 1 Tweaking Boot Files
- 2 Recompile a kernel
- 2.1 General Setup
- 2.2 Loadable Module Support
- 2.3 Block Layer
- 2.4 Processor type and features
- 2.5 Bus Options
- 2.6 Network
- 2.7 Device Drivers
- 2.8 Network Device support
- 2.9 Input device support
- 2.10 Character Devices
- 2.11 Misc Devices
- 2.12 Graphics support
- 2.13 File systems
- 2.14 Instrumentation Support
- 2.15 Kernel Hacking
Tweaking Boot Files
Open /etc/mkinitcpio.conf as root and delete the HOOKS you don't need.
HOOKS="base udev autodetect sata usbinput filesystems"
Read more about which HOOKS you can remove.
Open /etc/rc.conf as root, scroll to the hardware section.
If you autoload your modules, there is no point of manually selecting modules. So clear out MODULES like this.
In the network section, make sure you only load the network interface you need. Manually configuring your network is also faster then using dhcp.
Then find remove all DAEMONS you don't need.
DAEMONS=(alsa network gdm)
Then move your Xdm to front, and background all DAEMONS.
DAEMONS=(@gdm @alsa @network)
Open /etc/rc.sysinit as root and find
By adding a '&' to the end, all modules will be loaded in background.
/sbin/modprobe $mod &
Open /etc/inittab as root and find the agetty terminal lines.
c1:2345:respawn:/sbin/agetty 38400 vc/1 linux c2:2345:respawn:/sbin/agetty 38400 vc/2 linux c3:2345:respawn:/sbin/agetty 38400 vc/3 linux c4:2345:respawn:/sbin/agetty 38400 vc/4 linux c5:2345:respawn:/sbin/agetty 38400 vc/5 linux c6:2345:respawn:/sbin/agetty 38400 vc/6 linux
Agetty terminals are what you see when you press Ctrl+Alt+F1-6 Now, if you only need 2 or 3 then comment out the rest.
c1:2345:respawn:/sbin/agetty 38400 vc/1 linux c2:2345:respawn:/sbin/agetty 38400 vc/2 linux #c3:2345:respawn:/sbin/agetty 38400 vc/3 linux #c4:2345:respawn:/sbin/agetty 38400 vc/4 linux #c5:2345:respawn:/sbin/agetty 38400 vc/5 linux #c6:2345:respawn:/sbin/agetty 38400 vc/6 linux
Recompile a kernel
To decrease boot time, a stripped kernel is a must. Read more about recompiling a kernel.
Here are some tips from XxX Owned XxX ( http://ubuntuforums.org/showpost.php?p=1174954&postcount=507 ).
Kernel Useful/Performance Tips: Warning: Some of these tips may cause your kernel to not compile properly. Use them at you own risk.
A "/" means that it is under the directory above.
S: Support for paging of anonymous memory. (swap)
Loadable Module Support
U: Module Versioning Support U: Source checksum for all modules
U: Large Block Devices (Uncheck all if possible)
U: Anticipatory I/O Schedulers U: Deadline I/O Schedulers
Processor type and features
U: Symmetric processing support (Unless your processor(s) support(s) it) U: Generic x86 support S: HPET Timer Support S: Voluntary Kernel Preemption (Desktop) (Under Preemption Model) S: Local APCI support on uniprocessors S: IOAPCI support on uniprocessors (Under Local APCI support) S: Off (Under High Memory support if you have under 1 gig of ram) S: Sparse Memory (Under Memory Model, some computers will not have this option) S: MTRR support S: Use register arguements S: Enable seccomp to compute untrusted bytecode S: 1000hz (Under Timer Frequency)
U: Anything that you don't need.
S: Message Signaled Interrupts (MSI and MSIX) (PCI_MSI)
U: Anything/Everything in Amateur Radio, IrDA, and Bluetooth if you don't need it.
S: Packet socket:mmapped IO
S: Use PCI DMA by Default U: IDE Taskfile Acess
Raid and LVM
U: Unselect if you do not need it.
U: Unselect if you do not need it. Most people do not.
Network Device support
U: EQL support U: Universial TUN/TAP device driver support U: FDDI Driver support U: HIPPI driver support U: SLIP (serial line) support U: Traffic Support U: Network console loggin support
U: Unselect if you do not require/need it.
Ethernet Support (1000 MB)
U: Uselect the cards that you don't have.
Ethernet Support (10000 MB)
U: Unselect what you do not need.
Token Ring Devices
U: Unselect if you are not connected to a Token ring network.
WAN interfaces support
U: Unselect the some cards/the whole thing if you do not need it.
U: ISDN support (If you do not require it)
Input device support
U: Touchscreen interface U: Touchscreens (Under the TouchScreens subcatergory)
U: Any video cards that you do not need.
U: Watch Dog Timer support
U: Device driver for IBM/RSA service drivers
Video Capture Adapters
U: Unselect anything that you don't need.
U: Unselect anything that you don't need.
Digital Video Broadcasting Devices
U: DVB for Linux
U: Unselect any graphics cards that you don't have.
S: Bootup Logo (and anything under it)
U: Unselect any file systems that you are NOT going to use. (Minix, ROM, Quota, etc.)
S: NTFS write support
Network File Systems
U: NFS file system support U: NFS server support U: NCP file system support U: Coda file system support U: Andrew file system support U: Plan 9 resource sharing support
U: Advanced partition selection
Native Language Support
U: Unselect all but your native language: S: Codepage 437 (United States. Canada), ACII (United States), NLS UTF8 (select these for the us language)
U: Profiling Support U: Kprobes
U: Show timing information on printks U: Magic SysRq Key U: Kernel Hacking U: Debug Filesustem U: Compile the kernel with frame unwind information