Twitter RSS

Sysctl e o interfata pentru citirea si modificarea dinamica a parametrilor de functionare a kernelului in sistemele de operare BSD si Linux. Cu ajutorul sysctl se pot modifica anumte variabile care altfel ar impune o recompilare a kernelului. Este un instrument foarte util cand este necesara optimizarea unui sistem pentru un anumit serviciu sau pentru un anumit tip de resurse.

In Linux parametri disponibili se gasesc in /proc/sys. Existenta procfs este necesara pentru ca sysctl sa functioneze corect. In FreeBSD apelurile de sistem folosite sun implementate direct in kernel ceea ce duce la o imbunatatire a timpului de raspuns.

Ca sa vedem ce parametri ne permite sa citim sau sa modificam putem rula comanda sysctl -a care, in functie de componentele instalate si de sistemul de operare poate returna pana la 2000 de parametri.

[root@server ~]# sysctl -a | head -20
kern.ostype: FreeBSD
kern.osrelease: 7.1-RELEASE-p4
kern.osrevision: 199506
kern.version: FreeBSD 7.1-RELEASE-p4 #0: Mon Apr  6 17:00:11 UTC 2009
    root@lamp.ro:/usr/obj/usr/src/sys/LAMP
 
kern.maxvnodes: 35343
kern.maxproc: 4004
kern.maxfiles: 8008
kern.argmax: 262144
[root@server ~]#

Daca ne intereseaza un anumit parametru, putem apela sysctl urmat de numele complet sau clasa din care face parte variabila cautata:

[root@server ~]# sysctl security.bsd.see_other_uids
security.bsd.see_other_uids: 1
[root@server ~]# sysctl security.bsd
security.bsd.suser_enabled: 1
security.bsd.unprivileged_proc_debug: 1
security.bsd.conservative_signals: 1
security.bsd.see_other_gids: 1
security.bsd.see_other_uids: 1
security.bsd.unprivileged_read_msgbuf: 1
security.bsd.hardlink_check_gid: 0
security.bsd.hardlink_check_uid: 0
security.bsd.unprivileged_get_quota: 0
[root@server ~]#

Daca ne intereseaza sa modificam valoarea unei variabile vom folosi semnul egal pentru a-i da o valoare.

[root@server ~]# sysctl kern.maxfiles=2048
kern.maxfiles: 8008 -> 2048
[root@server ~]#

Daca modificam un parametru pe Linux, spre deosebire de FreeBSD, va trebui sa folosim sysctl -w variabila=valoare.

Valorile modificate vor fi sterse la prima resetare a sistemului. Pentru ca schimbarile sa fie permanente trebuie sa le adaugam in fisierul /etc/sysctl.conf de unde vor fi citite la pornire. Un exemplu de fisier /etc/sysctl.conf (FreeBSD) ar fi urmatorul:

# General
security.bsd.see_other_uids=0
kern.ipc.shm_use_phys=0
vfs.vmiodirenable=1
vfs.write_behind=1
net.inet.tcp.recvspace=16384
net.inet.tcp.sendspace=32768
net.inet.tcp.always_keepalive=0
kern.ipc.somaxconn=32768
kern.maxfiles=32768
kern.ipc.nmbclusters=65536
net.inet.tcp.syncookies=0
 
# Protectie la DDoS
net.inet.tcp.msl=30000
net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.icmp.icmplim=50
 
# Firewall
net.inet.ip.fw.verbose=1
net.inet.ip.fw.verbose_limit=8
net.inet.ip.fw.dyn_max=16384

Toate variabilele de mai sus vor fi setate la pornirea sistemului. Mai multe detalii legate de sysctl se pot gasi in pagina de manual.

Popularity: 1% [?]

Comentarii pentru “Kernel tuning cu sysctl”

Ai intrebari?

* Te rog sa postezi pe NetHelp orice intrebare care nu are legatura cu articolul.

Retele sociale
Reclamã
Sharing makes you cool!
Categorii
Apache
Articole si tutoriale legate de serverul web Apache.
/articole-tutoriale-apache/

cPanel
Articole si tutoriale legate de utilizarea si administrarea sistemului de gestiune a serverelor de hosting, cPanel.
/articole-tutoriale-cpanel-whm/

DNS
Vezi toate articolele din categoria DNS
/dns-bind-domain-name-services/

Linux
Articole si tutoriale legate de Linux, sisteme BSD sau alte sisteme de operare din familia UNIX.
/articole-tutoriale-linux/

Mail
Vezi toate articolele din categoria Mail
/mail/

MySQL
Articole si tutoriale despre serverul de baze de date MySQL.
/articole-tutoriale-optimizare-mysql/

Perl
Vezi toate articolele din categoria Perl
/perl-practical-extraction-and-report-language/

PHP
Vezi toate articolele din categoria PHP
/php-language-hypertext-preprocessor/

Retele
Tutoriale despre retele de calculatoare, configurarea interfetelor de retea si rutarea IP-urilor.
/retele-networking/

Virtualizare
Articole si tutoriale despre virtualizare si sistemel virtuale create cu Xen sau OpenVZ.
/virtualizare-xen-openvz/

Web hosting
Articole despre serviciile de gazduire web, dedicate sau in regim shared.
/web-hosting/

Webmin / Virtualmin
Articole si tutoriale legate de sistemul de gestiune gratuit Webmin sau modulul Virtualmin.
/webmin-virtualmin/





Newsletter
LAMP Recomandã
NetHelp
SRV.ro
cpadmin.ro
ABCDomenii