Improve boot performance

From ArchWiki
Revision as of 20:42, 15 June 2007 by Pingunz (Talk | contribs) (New page: Category:Post installation tips (English) Category:HOWTOs (English) This article contains some tips on how you can improve your boot performance. == Tweaking Boot Files == === Mk...)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This article contains some tips on how you can improve your boot performance.

Tweaking Boot Files

Mkinitcpio.conf

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.

Rc.conf

Open /etc/rc.conf as root, scroll to the hardware section.

MOD_AUTOLOAD="yes"

If you autoload your modules, there is no point of manually selecting modules. So clear out MODULES like this.

MODULES=()

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)

Rc.sysinit

Open /etc/rc.sysinit as root and find

/sbin/modprobe $mod

By adding a '&' to the end, all modules will be loaded in background.

/sbin/modprobe $mod &

Inittab

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.

S=Select U=Unselect

A "/" means that it is under the directory above.

General Setup

S: Support for paging of anonymous memory. (swap)

Loadable Module Support

U: Module Versioning Support
U: Source checksum for all modules

Block Layer

U: Large Block Devices (Uncheck all if possible)

IO Schedulers

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)

Firmware Drivers

U: Anything that you don't need.

Bus Options

S: Message Signaled Interrupts (MSI and MSIX) (PCI_MSI)

Network

U: Anything/Everything in Amateur Radio, IrDA, and Bluetooth if you don't need it.

Network Options

S: Packet socket:mmapped IO

Device Drivers

ATA/ATAP/MFR/RLL support

S: Use PCI DMA by Default
U: IDE Taskfile Acess

Raid and LVM

U: Unselect if you do not need it.

I2O support

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

ARCnet 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.

ISDN subsystem

U: ISDN support (If you do not require it)

Input device support

U: Touchscreen interface
U: Touchscreens (Under the TouchScreens subcatergory)

Character Devices

U: Any video cards that you do not need.

Watchdog cards

U: Watch Dog Timer support

Misc Devices

U: Device driver for IBM/RSA service drivers

Video Capture Adapters

U: Unselect anything that you don't need.

Radio Adapters

U: Unselect anything that you don't need.

Digital Video Broadcasting Devices

U: DVB for Linux

Graphics support

U: Unselect any graphics cards that you don't have.
Logo Configuration
S: Bootup Logo (and anything under it)

File systems

U: Unselect any file systems that you are NOT going to use. (Minix, ROM, Quota, etc.)

DOS/FAT/NT Filesystems

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

Partition Types

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)

Instrumentation Support

U: Profiling Support
U: Kprobes

Kernel Hacking

U: Show timing information on printks
U: Magic SysRq Key
U: Kernel Hacking
U: Debug Filesustem
U: Compile the kernel with frame unwind information