A sysctl(8) egy olyan felület, amely lehetőséget biztosít egy működő FreeBSD rendszer megváltoztatására. Segítségével többek közt hozzáférhetünk a TCP/IP protokollkészlet és a virtuális memóriát kezelő alrendszer rengeteg apró opciójához, melyek megfelelő beállításával egy tapasztalt rendszergazda kezében drasztikusan növelhető a rendszer teljesítménye. A sysctl(8) alkalmazásával több mint ötszáz rendszerszintű változó kérdezhető le és állítható be.
A sysctl(8) két funkciót rejt magában: a rendszer beállításainak lekérdezését és módosítását.
Így nézhetjük meg az összes lekérdezhetó változót:
%
sysctl -a
Így kérhetjük egy konkrét
változó, például a
kern.maxproc
értékét:
%
sysctl kern.maxproc
kern.maxproc: 1044
Egy adott változó értékének
módosításához pedig használjuk
a
változó
=érték
felírást:
#
sysctl kern.maxfiles=5000
kern.maxfiles: 2088 -> 5000
A sysctl változók értékei lehetnek
karakterláncok, számok és logikai
értékek (ahol az 1
az igennek, a
0
a nemnek felel meg).
Ha a számítógép
indításakor automatikusan be akarunk
állítani bizonyos változókat, akkor
vegyük fel ezeket az /etc/sysctl.conf
állományba. Ennek pontosabb részleteit a
sysctl.conf(5) man oldalon és a 11.10.4. szakasz - sysctl.conf
ban találhatjuk
meg.
Egyes esetekben szükséges lehet a sysctl(8) írásvédett változóinak módosítása. Habár gyakran elengedhetetlen, ezt kizárólag csak a rendszer (újra)indításakor tudjuk megtenni.
Például egyes laptopoknál a cardbus(4) eszköz nem próbálkozik több memóriaterület használatával, ezért egy ehhez hasonló hibával leáll:
cbb0: Could not map register memory device_probe_and_attach: cbb0 attach returned 12
Az ilyen és ehhez hasonló esetekben gyakran
olyan sysctl(8) változók alapértelmezett
értékeit kellene megváltoztatnunk, amelyek
írásvédettek. Ilyenkor tegyük az
érintett sysctl(8) változó
"objektumazonosítóját" (OID)
és a hozzá tartozó értéket a
/boot/loader.conf
állományunkba. Az alapértelmezéseket
a /boot/defaults/loader.conf
állományban találjuk meg.
A fentebb tárgyalt probléma
megoldásához a felhasználónak a
hw.pci.allow_unsupported_io_range=1
értéket kell beállítania az előbb
említett állományban. Ezután
már a cardbus(4) megfelelően fog
működni.
Ha kérdése van a FreeBSD-vel kapcsolatban, a
következő címre írhat (angolul):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.