Linux can bootup very slow or fairly fast depending on how its setup. Most Linux distributions load allot of unnecessary stuff, that can be easily disabled.
Boot loader[]
Make sure the timeout is set to a low number 2 seconds is fine.
- Grub
- Edit: /boot/grub/grub.conf
- Modify line: timeout 2
- lilo
- Edit: /etc/lilo.conf
- Modify line: timeout 2
Init processes[]
- Disable unneeded processes
- Commands
- Gentoo
- rc-update (console)
- rc-config (console)
- Fedora/RHEL:
- /usr/bin/system-config-services
- /usr/sbin/serviceconf
- /usr/sbin/ntsysv (console)
- chkconfig (console)
- Red Hat:
- /usr/bin/redhat-config-services
- /usr/sbin/ntsysv (console)
- Ubuntu / Debian:
- bum (Boot Up Manager) (GUI)
- /usr/bin/services-admin (GUI)
- /usr/sbin/sysv-rc-conf (console)
- Gentoo
- List of init processes
this list contains services from many different distributions, your system wont have all of them.
Init process | Recommendation | Description |
---|---|---|
alsasound | Keep | Sound |
autofs | automounts file systems on demand, USB drives, cdrom | |
arpwatch | Keeps track of IP address to MAC address pairings | |
atd | Run scheduled batch jobs | |
bluetooth, pand, hidd, dund | Remove* | Bluetooth netwoork support. |
bootmisc | Keep | |
checkfs | Keep | checks disk for errors |
checkroot | Keep | checks disk for errors |
clamd | Remove* | Antivirus |
clock | Keep | |
consolefont | Keep | |
consolekit | ||
crypto-loop | ||
dbus | ||
device-mapper | ||
dmcrypt | ||
dmeventd | ||
gpm | Remove* | Console mouse |
hald | ||
hostname | Keep | Sets hostname |
hplip | Remove* | HP printer/scanner/fax services |
https | Remove* | Apache web server. |
hsqldb | Remove* | Database services |
iptables | Firewall rules interface to kernel. | |
irexec | Remove* | Lirc controller |
keymaps, keytable | Loads selected keyboard map as set in /etc/sysconfig/keyboard | |
kudzu | Keep | Redhat new hardware probe/detection |
cups, lpd | Remove* | Printer services. |
lircd | Remove* | lirc services. |
lircmd | Remove* | Lirc mouse services. |
microcode_ctl | Uploads microcode to kernel and ultimately to the Intel Pentium processor. (Hardware specific.) | |
mysqld | Remove* | Database services |
modules | Keep | Kernel modules |
named | Remove* | DNS name services (Bind) |
network | Keep | Network/ethernet |
net.eth0 | Keep | ethernet card |
net.lo | Keep | ethernet loop-back |
netmount | Remove* | |
nfs | Remove* | Network file system. Unix file sharing services. Also uses services: nfslock, portmap, rpcgssd, rpcidmapd, rpcsvcgssd |
nscd | Password and group lookup services for use with network authentication (NIS, LDAP,...). | |
ntp-client | Remove* | sets clock from internet |
ntpd | Remove* | time server, not needed for ntp-client |
numlock | Optional | |
pciparm | ||
pwcheck | ||
pydoc-2.4 | Remove* | |
pydoc-2.5 | Remove* | |
pydoc-2.6 | Remove* | |
rmnologin | ||
rawdevices | Enables raw IO. Useful for Oracle and software which utilizes this for high speed disk access. | |
rsyncd | Remove* | rsync server |
saslauthd | ||
serial | ||
smb | Remove* | SAMBA: MS/Windows PC file sharing services |
sshd | Remove* | ssh server, not required to use ssh or ssh2 |
syslog-ng, syslog | Keep | System log file facility. |
udev | ||
udev-dev-tarball | ||
udev-mount | ||
udev-postmount | ||
urandom, random | Keep | random number gen |
vixie-cron, crond, anacron | Keep | loads scheduled processes |
xdm | graphical login | |
xdm-setup | ||
ypbind | Remove* | NIS file sharing/authentication infrastructure service. |
yppasswd | Remove* | NIS file sharing/authentication infrastructure service. |
ypserv | Remove* | NIS file sharing/authentication infrastructure service. |
* The remove recommendations, simply mean they are not required for normal operation. But if you want that feature to work, you need to enable it. For example if you want to use a printer, you need to enable CUPS.
- Enable parallel loading
- Gentoo Linux
- Edit: /etc/conf.d/rc:
- Set: RC_PARALLEL_STARTUP="yes"
kernel[]
- Recompile Kernel to fit your system
- Remove any unneeded components, you may be able to find the exact components required for your computer, and remove hundreds of unnecessary and unused ones.
- General setup --->
- Kernel compression mode (Gzip) --->
Make sure system is properly configured[]
Things can load slower if you system has to test and guess settings. X windows loads slower if your host is not set.
- Make sure configs match
- Hostname (gentoo)
- for example hostname=tux networkname=tuxnet
- Edit: /etc/hosts
- Modify: 127.0.0.1 tux tux.tuxnet localhost
- Edit: /etc/conf.d/net
- Modify: dns_domain_lo="tuxnet"
- Edit: /etc/conf.d/hostname
- Modify: HOSTNAME="tux"
Other advice[]
- See How To Make Ubuntu Faster for Ubuntu Distributions of Linux
- See http://linux.aldeby.org/speed-up-your-ubuntu-linux-boot.html for some other good tips
- See How to tweak and optimize SSD for Ubuntu, Linux Mint for tweaking SSD/HDD on Linux.