User
Pass
2FA
 
 

Tutorial compilare kernel Linux La 1000 Hz (1000 Fps HLDS)

 
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Freakz Forum Index -> Trash Bin -> Trash
Author Message1205
NEiL;x
[Banned user]


Banned


Status: Offline
(since 04-02-2011 12:03)
Joined: 04 Jan 2011
Posts: 45, Topics: 8
Location: Bucuresti

Reputation: 2.5
Votes: 8

Post Posted: 03-02-2011, 20:23:55 | Translate post to: ... (Click for more languages)

Nu este facut de mine doar lam postat poate aveti nevoie..daca am facut ceva gresit scuzati-ma


In cele ce urmeaza o sa va convingeti despre importanta kernelului si despre efectul acestuia asupra performantei unui server de CS 1.6
Acest tutorial este doar pentru cei care folosesc platforma Linux,incluzand toate distributiile derivate Debian (Ubuntu,LinuxMint etc)
Sa pornim de la urmatoarele : aveti Ubuntu si serverul instalat in /usr/hlds

1.Downloadarea kernelului

-aici gasiti toate tipurile de kernel : http://www.kernel.org/pub/linux/kernel/v2.6/
-aici gasiti patch-uri RT pt kernel : http://www.kernel.org/pub/linux/kernel/projects/rt/
-momentan,ultima versiune de kernel este 2.6.31
-intram in terminal si ne logam ca root scriind
Citat:
sudo su


-dupa ce introducem parola scriem
Citat:
cd /usr

-si
Citat:
chmod -R 777 src

-dupa care
Citat:
cd /usr/src


-tot in terminal ne downloadam ultimul kernel si patch
Citat:
wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.tar.gz

Citat:
wget http://kernel.org/pub/linux/kernel/projects/rt/patch-2.6.31.2-rt13.gz



2.Compilarea kernelului

-instalam "uneltele" necesare
Citat:
apt-get install gcc
apt-get install make (sau gmake sau gnu-make)
apt-get install ncurses
apt-get install ncurses-dev
apt-get install chrt
apt-get install zlib1g-dev
apt-get install patch


-vom dezarhiva kernelul
Citat:
tar zxf linux-2.6.31.tar.gz

-si vom aplica patch-ul RT
Citat:
cd linux-2.6.31

Citat:
zcat ../patch-2.6.31.2-rt13.gz | patch -p1


-incepem configurarea kernelului
Citat:
make menuconfig


-ne va aparea un meniu unde vom face urmatoarele modificari
Citat:


General setup:



RCU Subsystem (ignora daca nu este prezent)



Activeaza RCU Implementation (Preemptible RCU)

Dezactiveaza Enable tracing for RCU



Processor type and features:



Dezactiveaza Tickless System (Dynamic Ticks)

Activeaza High Resolution Timer Support

Selecteaza-ti procesorul sub Processor family

Schimba Preemtion Mode in Complete Preemption (Real-Time)

Activeaza Enable priority boosting of RCU read-side critical sections (ignora daca nu este prezent)

Dezactiveaza Enable tracing for RCU - currently stats in debugfs (ignora daca nu este prezent)

Activeaza Machine Check Exception si selecteaza Intel sau AMD in functie de ce procesor ai

Schimba Timer frequency la 1000 HZ

Power management and ACPI options



Activeaza Power Management support

Dezactiveaza Power Management Debug Support

Dezactiveaza Suspend to RAM and standby

Dezactiveaza Hibernation (aka 'suspend to disk')

Activeaza ACPI (Advanced Configuration and Power Interface) Support

Dezactiveaza CPU Frequency scaling

Dezactiveaza CPU idle PM support

Networking support



Networking options



Activeaza Packet socket: mmapped IO

Dezactiveaza Network packet filtering framework (Netfilter) (Atentie!:aceasta optiune dezactiveaza firewall-ul)

Dezactiveaza QoS and/or fair queueing



Device Drivers



Dezactiveaza Watchdog Timer Support

Activeaza Real Time Clock



Activeaza PC-style 'CMOS'



Kernel hacking



Dezactiveaza absolut tot




-dupa ce terminam iesim din meniu (EXIT) iar cand ne intreaba daca vrem sa salvam configuratia vom raspunde cu da (YES)
-pentru compilarea si instalarea kernelului vom rula urmatoarea comanda
Citat:
make && make install modules_install



Acest proces dureaza in jur de 2-3 ore,depinde de sistemul dumneavoastra
...
...
...
...
...
...
Urmeaza creerea in directorul /boot a celor doua componente rezultate din compilarea kernelului folosind comanda
Citat:
mkinitramfs -o /boot/initrd.img-2.6.31.2-rt13 2.6.31.2-rt13



-acum vom aduca kernelul in meniul de boot
Citat:
cd ..
cd /boot
chmod -R 777 grub


-ne ducem in /boot/grub si deschidem fisierul menu.lst (sau grub.conf) si adaugam noul kernel in lista
Citat:

title Debian 2.6.31 RT Kernel 1000 Fps
kernel /boot/vmlinuz-2.6.31.2-rt13 root=/dev/sda1
initrd /boot/initrd.img-2.6.31.2-rt13



Aceasta de mai sus (/dev/sda1) este locatia "standard",dar poate diferi,in functie de partitia instalarii linuxului.
Puteti incerca in terminal
Citat:
update-grub


Restartati PC-ul
Citat:
shutdown -r now



Dupa restart,la pornire,inainte de a se incarca linuxul,apasati ESC iar din meniul GRUB selectati noul kernel si apasati ENTER.
Puteti verifica ce kernel ruleaza in prezent pe sistem tastand in terminal
Citat:
uname -r




3.Setarea serverului in mod real-time

Un sistem real-time are nevoie sa stie care procese sunt critice si care nu.In mod normal,nici un proces nu este considerat ca fiind critic.Cel mai usor este sa creem un "cron job" pe care il vom seta sa ruleze din minut in minut.In folderul /usr/src vom crea un nou fisier pe care il vom numi " resched.sh ".Deschidem fisierul respectiv si punem in el urmatoarele
Citat:

#!/bin/sh

PIDS=`ps ax | grep sirq-hrtimer | grep -v grep | sed -e "s/^ *//" -e "s/ .*$//"`
for p in $PIDS; do
chrt -f -p 99 $p
done

PIDS=`ps ax | grep sirq-timer | grep -v grep | sed -e "s/^ *//" -e "s/ .*$//"`
for p in $PIDS; do
chrt -f -p 51 $p
done

PIDS=`pidof srcds_i686`
for p in $PIDS; do
chrt -f -p 98 $p
done

PIDS=`pidof srcds_i486`
for p in $PIDS; do
chrt -f -p 98 $p
done

PIDS=`pidof srcds_amd`
for p in $PIDS; do
chrt -f -p 98 $p
done

PIDS=`pidof hlds_i686`
for p in $PIDS; do
chrt -f -p 98 $p
done

PIDS=`pidof hlds_i486`
for p in $PIDS; do
chrt -f -p 98 $p
done

PIDS=`pidof hlds_amd`
for p in $PIDS; do
chrt -f -p 98 $p
done



-vom face fisierul executabil
Citat:
chmod 755 /usr/src/resched.sh


-apoi
Citat:
cd /etc
chmod -R 777 crontab


-mergem in directorul /etc si deschidem fisierul crontab
-adaugam urmatoarele
Citat:

# m h dom mon dow user command
[...]
*/1 * * * * root /usr/src/resched.sh > /dev/null 2>&1


-dupa care restartam crontab
Citat:
/etc/init.d/cron restart




4.Eliminarea variatiilor de FPS cu "idler"

-dupa urmare acestui tutorial,pe unele sisteme raman mici variatii de FPS
-in acest caz ajuta creerea unui proces low-priority care sa ia 100% din procesor
-ne ducem in /usr/src si creem un fisier nou pe care il denumim " idler.c "
-in fisierul respectiv adaugam urmatoarele linii
Citat:

int main() {
while(1);
}



-compilam programul din terminal (trebuie sa fii root)
Citat:

cd /usr/src
gcc idler.c -o idler
nice ./idler




Nu uitati sa porniti serverul cu " -pingboost 3 " si cu un " sys_ticrate " intre 1000 si 1200 (puteti incerca sa vedeti ce vi se potriveste mai mult).Daca ati urmat corect acest tutorial veti avea la server 1000 Fps si o acuratete foarte buna.Puteti de asemenea,pentru o mai buna performanta,instalarea unui PING BOOSTER
Citat:
http://www.udpsoft.com/booster/


Link-uri de studiat
Citat:

http://rt.wiki.kernel.org/index.php/Main_Page
http://www.howto-cs16-root.de/index.htm

0 0
  
Back to top
View user's profile Send private message
teLOVEsc

[Criminal]



Status: Offline
(since 16-09-2018 14:52)
Joined: 19 Jul 2010
Posts: 5349, Topics: 193
Location: Congo

Reputation: 324
Votes: 216

            Battletag: postrow.ID_BATTLE_NET}  Ce e ala  
Post Posted: 03-02-2011, 20:29:49 | Translate post to: ... (Click for more languages)

Ciudat esti sa mor - Iei tutorialul de pe forumul freakz si il pui aici - Buna treaba. Sunt curios ce ar zice Shocker despre asta

Iata tutorialul facut de el Aici
Daca iti mai dau si report cu inca 1 warn te apropii tot mai mult de ban.. Dar eu unul nu iti dau..


All kids watch this - Click


0 0
  
Back to top
View user's profile Send private message Yahoo! Messenger ID
NEiL;x
[Banned user]


Banned


Status: Offline
(since 04-02-2011 12:03)
Joined: 04 Jan 2011
Posts: 45, Topics: 8
Location: Bucuresti

Reputation: 2.5
Votes: 8

Post Posted: 03-02-2011, 20:30:55 | Translate post to: ... (Click for more languages)

vam spus ca nu este de mine poate alti nu sau uitat acolo si am vrut sal pun aici nam stiut..
0 0
  
Back to top
View user's profile Send private message
teLOVEsc

[Criminal]



Status: Offline
(since 16-09-2018 14:52)
Joined: 19 Jul 2010
Posts: 5349, Topics: 193
Location: Congo

Reputation: 324
Votes: 216

            Battletag: postrow.ID_BATTLE_NET}  Ce e ala  
Post Posted: 03-02-2011, 20:33:28 | Translate post to: ... (Click for more languages)

Cred ca n-ai nici cea mai vaga idee despre ce e acest tutorial , in lumea ta acolo se pare ca e vid total -. Mai treci si pe la regulamentul Freakz inainte sa mai faci si alte prostii -

All kids watch this - Click


0 0
  
Back to top
View user's profile Send private message Yahoo! Messenger ID
GaGaVs Je !!

[GaGa 3>Freakz.]



Status: Offline
(since 29-05-2017 13:44)
Joined: 19 Nov 2009
Posts: 6358, Topics: 233
Location: Arad

Reputation: 547.1
Votes: 196

 
Post Posted: 03-02-2011, 20:36:41 | Translate post to: ... (Click for more languages)

Dar ce semnifica tutorialu asta pe zm.freakz.ro?. Mai bine tinetil pentru tine.

Respecta si vei fi RESPECTAT !
0 0
  
Back to top
View user's profile Send private message Yahoo! Messenger ID
This forum is locked: you cannot post, reply to, or edit topics.   This topic is locked: you cannot edit posts or make replies.    Freakz Forum Index -> Trash Bin -> Trash  


The time now is 02-12-2024, 15:45:38
Copyright info

Based on phpBB ro/com
B

 
 
 







I forgot my password


This message appears only once, so
like us now until it's too late ! :D
x