Posts Tagged optimization

FreeBSD 7.0-RELEASE Kernel Optimization

Below is my FreeBSD 7.0 kernel configuration file.  I created it on my reference system, to be used on four production servers whose hardware configurations differ some.  For that reason there’re few options (indicated as “[OPTION]“) that are conditional for the configurations. I’ve also left in IPv6 options which are currently commented out, but that I may take into use later if/when IPv6 becomes more prevalent in the environment these servers operate.

  |  copy code |? 
001
002
#
003
# INERTIA -- Inertia kernel configuration file for FreeBSD/i386
004
#
005
# For more information on this file, please read the handbook section on
006
# Kernel Configuration Files:
007
#
008
#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
009
#
010
# The handbook is also available locally in /usr/share/doc/handbook
011
# if you've installed the doc distribution, otherwise always see the
012
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
013
# latest information.
014
#
015
# An exhaustive list of options and more detailed explanations of the
016
# device lines is also present in the ../../conf/NOTES and NOTES files.
017
# If you are in doubt as to the purpose or necessity of a line, check first
018
# in NOTES.
019
#
020
# Based on
021
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.474.2.2.2.1 2008/02/06 03:24:28 scottl Exp $
022
 
023
ident		INERTIA
024
machine		i386
025
cpu		I686_CPU
026
 
027
options		SMP 			# Symmetric MultiProcessor Kernel (`device apic' is also required for multiprocessor use)
028
options 	SCHED_4BSD		# 4BSD scheduler
029
options 	PREEMPTION		# Enable kernel thread preemption
030
options 	INET			# InterNETworking
031
#options 	INET6			# IPv6 communications protocols
032
options 	FFS			# Berkeley Fast Filesystem
033
options 	SOFTUPDATES		# Enable FFS soft updates support
034
options 	UFS_ACL			# Support for access control lists
035
options 	UFS_DIRHASH		# Improve performance on big dirs
036
options 	CD9660			# ISO 9660 Filesystem
037
options 	PROCFS			# Process filesystem (requires PSEUDOFS)
038
options 	PSEUDOFS		# Pseudo-filesystem framework
039
options		MSDOSFS			# MSDOS filesystem support (for floppies)
040
options 	COMPAT_43		# Compatible with BSD 4.3 (required)
041
options 	COMPAT_FREEBSD4		# Compatible with FreeBSD4
042
options 	COMPAT_FREEBSD5		# Compatible with FreeBSD5
043
options 	COMPAT_FREEBSD6		# Compatible with FreeBSD6
044
options 	SCSI_DELAY=15000	# Delay (in ms) before probing SCSI (TWA/TWE issue)
045
options 	KTRACE			# ktrace(1) support
046
options 	SYSVSHM			# SYSV-style shared memory
047
options 	SYSVMSG			# SYSV-style message queues
048
options 	SYSVSEM			# SYSV-style semaphores
049
options 	_KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
050
options 	KBD_INSTALL_CDEV	# install a CDEV entry in /dev, may be needed to hot-plug USB keyboards
051
options 	AHC_REG_PRETTY_PRINT	# Print register bitfields in debug output
052
options 	AHD_REG_PRETTY_PRINT	# Print register bitfields in debug output
053
options 	ADAPTIVE_GIANT		# Giant mutex is adaptive
054
options		ACCEPT_FILTER_HTTP	# Must be here or AcceptFilter won't work w/Apache2
055
options		SC_DISABLE_REBOOT	# Disable Ctrl-Alt-Del reboot (this is a server)
056
 
057
device		apic			# I/O APIC (required)
058
device		npx   			# The Numeric Processing eXtension driver (required)
059
 
060
device		pci
061
device		isa			# Required by npx
062
 
063
device		fdc			# Floppy drives
064
 
065
device		ata			# ATA and ATAPI devices
066
device		atadisk			# ATA disk drives
067
device		ataraid			# ATA RAID drives [OPTION]
068
device		atapicd			# ATAPI CDROM drives
069
options 	ATA_STATIC_ID		# Static device numbering
070
 
071
device		scbus			# SCSI bus (required for SCSI, ALSO REQ'D FOR SATA-RAID, USB/umass)
072
device		da			# Direct Access (disks)
073
device		pass			# Passthrough device (direct SCSI access)
074
 
075
#device		twe			# 3ware ATA RAID [OPTION]
076
#device		twa			# 3ware 9000 series PATA/SATA RAID [OPTION]
077
#options	TWA_DEBUG		# 0-10; 10 prints the most messages; enable for twa debug only
078
 
079
device		atkbdc			# AT keyboard controller
080
device		atkbd			# AT keyboard
081
device		kbdmux			# keyboard multiplexer
082
 
083
device		vga			# VGA video card driver
084
device		sc			# syscons, the default console driver
085
device		sio			# 8250, 16[45]50 based serial ports
086
 
087
device		ppc			# Parallel port
088
device		ppbus			# Parallel port bus (required)
089
device		lpt			# Printer
090
device		ppi			# Parallel port interface device
091
 
092
#device		miibus			# MII bus support (required by some NICs) [OPTION]
093
#device		fxp			# Intel EtherExpress PRO/100B (82557, 82558); requires miibus [OPTION]
094
device		em			# Intel PRO/1000 adapter Gigabit Ethernet Card [OPTION]
095
 
096
options		DEVICE_POLLING		# Imporoves network driver performance
097
 
098
device		coretemp		# On-die temperature sensor on Intel Core and newer CPUs [OPTION]
099
 
100
device		loop			# Network loopback
101
device		random			# Entropy device
102
device		ether			# Ethernet support
103
device		pty			# Pseudo-ttys (telnet etc)
104
#device		gif			# IPv6 and IPv4 tunneling
105
#device		faith			# IPv6-to-IPv4 relaying (translation)
106
device		bpf			# Berkeley packet filter
107
 
108
# USB support [OPTION]
109
device		uhci			# USB support / UHCI PCI->USB interface
110
device		ohci			# USB support / OHCI PCI->USB interface
111
device		ehci			# USB support / EHCI PCI->USB interface (USB 2.0)
112
device		usb			# USB support / USB Bus (required)
113
device		ugen			# USB support / Generic
114
device		uhid			# USB support / "Human Interface Devices"
115
device		ukbd			# USB support / Keyboard
116
device		umass			# USB support / Disks/Mass storage - Requires scbus and da
117
 
118
options		COMPAT_LINUX		# Linux compat / Enable Linux ABI emulation
119
options		COMPAT_AOUT		# Linux compat / Enable i386 a.out binary support
120
options		LINPROCFS		# Linux compat / Enable procfs support (COMPAT_LINUX / PSEUDOFS)
121

, , , ,

No Comments