Annons
För några år sedan lades en magisk "200-line patch" till Linux-kärnan. Det syftade till att öka responsen på program som körs samtidigt på ditt Linux-system. Även om det var effektivt, tror utvecklaren Daniel Poelzleithner att han kan göra bättre.
För att uppnå ultimat lyhördhet på ditt Linux-system kanske du vill titta på Ulatencyd.
Varning: För att testa Ulatencyd, måste du hålla händerna djupt in i terminalen och sammanställa programmet från grunden. Med andra ord, detta är inte det bästa valet för nybörjare. Om du vill så kan du borsta upp några terminalkommandon En A-Z av Linux - 40 väsentliga kommandon som du borde känna tillLinux är det ofta ignorerade tredje hjulet för Windows och Mac. Ja, under det senaste decenniet har operativsystemet med öppen källkod fått mycket dragkraft, men det är fortfarande långt ifrån att betraktas ... Läs mer i förväg.
Ulatencyd är en systemdemon för Linux som ger kärnan några tips och begränsningar för hur man hanterar processer. Det gör detta med hjälp av något som kallas cgroups, som i huvudsak är olika prioriterade nivåer. Processer som har grafiska användargränssnitt och måste vara lyhörda - som skrivbordsmiljöer - kommer att få en högre prioritet än processer som inte behöver så mycket uppmärksamhet och inte orsakar allvarliga problem om de skulle göra det stamma.
Poelzleithner tar också upp hur hans tillvägagångssätt är bättre än 200-linjens patch:
Jag tror att detta minimala tillvägagångssätt [med hänvisning till 200-linjens patch] är bra under vissa omständigheter, men inte ger tillräcklig flexibilitet som krävs för ett riktigt skrivbord med låg latens. Perfekt skrivbordsplanering behöver mycket heuristik, som inte hör till kärnan. Till exempel skyddar lappen inte dig från byte av död, gaffelbomber, kan inte upptäcka vilken process du faktiskt använder och ge fler CPU-aktier till dem, kan inte ge realtidsprioriteringar för processer som jackd, etc.... ulatencyd är utformad för att fixa exakt det.
Installation
För att installera Ulatencyd på Ubuntu, kör följande kommando:
sudo apt-get install libglib2.0-dev libdbus-glib-1-dev liblua5.1-0-dev lua-posix-dev procps doxygen libmoose-perl pandoc python-dbus python-qt4 python-qt4-dbus xcb xcb-proto libxau-dev libprocps3-dev cmake
Detta kommando installerar programvarans nödvändiga beroenden. Paketnamn skiljer sig åt mellan distros, så användare av andra distros än Ubuntu kommer att behöva titta på projektets sida och se vilka paket som måste installeras baserat på den medföljande listan.
Därefter går du till projektets huvudsida som är värd på GitHub, en extremt användbar kodhanteringsservice Hur man visar och redigerar källkoden för en öppen källkodsappÄven om att gå med open source kan vara ett bra val, måste du också investera i rätt community. GitHub är en av de bästa platserna att göra detta, inte bara på grund av det stora antalet ... Läs mer och klicka på knappen "Ladda ner ZIP" på höger sida av sidan.
Spara det var du vill (till exempel din nedladdningsmapp) och extrahera sedan zip.
Använd sedan cd för alla distros för att gå till den extraherade mappen (t.ex. cd ./Downloads/ulatency-master
) och kör det här kommandot:
cmake. && gör DEBUG = 1 && gör dokument && sudo make install
Detta kommer att sammanställa koden och dokumentationen och sedan installera dem.
Kör slutligen det här kommandot för att starta ulatencyd:
sudo / usr / local / sbin / ulatencyd -v -f / var / log / ulatencyd
Du kan också välja att starta om ditt system om du vill.
anteckningar
Observera att vissa människor har rapporterat att installation av Ulatencyd har orsakat kärnpanik. Den allmänna konsensus verkar vara att dessa kärnpanik är resultatet av buggar i kärnan snarare än problem med Ulatencyd. Men när jag använder den senaste koden för Ulatencyd från dess Git-repo och den senaste dagliga bilden av Ubuntu 14.04, har jag inga problem alls.
Resultat
Jag tycker att Ulatencyd gör en skillnad, även om upplevelsen kan vara annorlunda för dig. Om du redan använder en snabb dator är potentialen att se en skillnad låg eftersom du redan har tillräckligt med resurser för att ge varje process den uppmärksamhet den vill ha. För långsammare datorer är potentialen att se skillnad större, men det beror på din arbetsbelastning.
Lyhördhet är en ganska subjektiv statistik, men den närmaste metriken som kan representera den är den genomsnittliga belastningen. Google+-användaren Rafal Cieslak försökte Ulatencyd i kombination med en annan daemon, verynice, och såg den genomsnittliga belastningen sjunka från 2,2 - 2,8 till 0,8 - 1,5. Jag har inte riktigt sett det mycket av en förbättring med användning av ulatencyd ensam, men tomgångslaster på ~ 0,5 faller ner till ~ 0,2 och upptagna laster av ~ 2,4 faller ner till ~ 1,8-2,0. I vilket fall som helst är det en förbättring mätbar.
För dem som bryr sig hävdar utvecklaren Poelzleithner att programvaran är effektiv:
Jag kan köra en make -j 40 på min dual core-maskin medan jag ser en full HD-film utan problem och ui från kde känns fortfarande bra.
Detta är faktiskt ganska imponerande för ett dual core-system, eftersom ett "make -j 40" -kommando betyder att han var det sammanställa en mjukvara med fyrtio trådar som körs på en gång - något som säkert kommer att hålla CPU: n helt utnyttjas.
Slutsats
Kom ihåg att det här programmet inte nödvändigtvis gör datorn snabbare (som att den kan göra mer arbete på kortare tid), men bara göra det mer lyhörd (som i den ägnar mer uppmärksamhet åt de saker du interagerar med och lämnar andra processer som afterthoughts). Men det betyder inte att Ulatencyd inte är värt att försöka - ett lyhört system kan vara mycket mindre förvärrande för användaren.
Om du fortfarande är på jakt efter förbättrad hastighet och lyhördhet, glöm inte att kolla in dessa fyra tips för att påskynda ett Linux-system 4 sätt att påskynda din Linux-datorÄr din Linux-installation inte så snabb som du vill? Så här påskyndar du det. Läs mer .
Har du några knep i ärmarna för att förbättra ett Linux-systems prestanda som du kan dela med andra? Låt oss veta i kommentarerna!
Danny är senior vid University of North Texas som tycker om alla aspekter av open source-programvara och Linux.