Annonse
For noen år siden ble en magisk "200-linjers patch" lagt til Linux-kjernen. Den hadde som mål å øke responsen til programmer som kjører samtidig på Linux-systemet ditt. Mens det var effektivt, tror utvikler Daniel Poelzleithner at han kan gjøre det bedre.
For å oppnå maksimal respons på Linux-systemet ditt, kan det være lurt å ta en titt på Ulatencyd.
Advarsel: For å prøve ut Ulatencyd, må du ta hendene dypt inn i terminalen og sammenstille programmet fra bunnen av. Med andre ord, dette er ikke det beste valget for nybegynnere. Du kan hvis du vil børste opp noen terminalkommandoer En A-Z av Linux - 40 viktige kommandoer du burde viteLinux er det ofte ignorerte tredje hjulet til Windows og Mac. Ja, det siste tiåret har open source-operativsystemet fått mye trekkraft, men det er fremdeles langt fra å bli vurdert ... Les mer på forhånd.
Ulatencyd er en systemdemon for Linux som gir kjernen noen hint og begrensninger for hvordan man skal håndtere prosesser. Det gjør dette ved å bruke noe som kalles cgroups, som i hovedsak er forskjellige prioriteringsnivåer. Prosesser som har grafiske brukergrensesnitt og må være lydhøre - for eksempel skrivebordsmiljøer - vil motta en høyere prioritet enn prosesser som ikke trenger så mye oppmerksomhet, og som ikke vil forårsake alvorlige problemer stamme.
Poelzleithner tar også opp hvordan tilnærmingen hans er bedre enn 200-linjers patch:
Jeg tror at denne minimale tilnærmingen [med referanse til 200-linjers patch] er bra under noen omstendigheter, men ikke gir nok fleksibilitet som kreves for et ekte skrivebord med lav latens. Perfekt skrivebordsplanlegging trenger mye heuristikker, som ikke hører hjemme i kjernen. For eksempel beskytter lappen ikke deg fra bytte av død, gaffelbomber, kan ikke oppdage hvilken prosess du faktisk bruker og gi flere cpu-aksjer til dem, kan ikke gi sanntid prioriteringer til prosesser som jackd, osv.... ulatencyd er designet for å fikse akkurat det.
Installasjon
Kjør følgende kommando for å installere Ulatencyd på Ubuntu:
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 CUtfør
Denne kommandoen vil installere de nødvendige avhengighetene til programvaren. Pakkenavn er forskjellige mellom distroser, så brukere av andre distros enn Ubuntu må se på prosjektets side og se hvilke pakker som må installeres basert på den oppgitte listen.
Neste, ta turen til prosjektets hovedside som er vert på GitHub, an ekstremt nyttig kodehåndteringstjeneste Slik viser og redigerer jeg kildekoden til en åpen kildekode-appSelv om det å være åpen kildekode kan være et godt valg, må du også investere i riktig samfunn. GitHub er et av de beste stedene å gjøre dette, ikke bare på grunn av den store mengden ... Les mer , og klikk på "Last ned ZIP" -knappen på høyre side av siden.
Lagre dette hvor du måtte ønske det (for eksempel nedlastingsmappen), og pakk deretter ut zip-koden.
Bruk deretter cd for alle distros til å trekke ut den utvunnede mappen (som f.eks cd ./Downloads/ulatency-master
), og kjør denne kommandoen:
CUtfør. && lage DEBUG = 1 && få dokumenter && sudo make install
Dette vil sette sammen koden og dokumentasjonen og deretter installere den.
Til slutt, kjør denne kommandoen for å starte ulatencyd:
sudo / usr / local / sbin / ulatencyd -v -f / var / log / ulatencyd
Du kan også velge å starte systemet på nytt hvis du vil.
Merknader
Vær oppmerksom på at noen mennesker har rapportert at installasjon av Ulatencyd har forårsaket panikk av kjerner. Den generelle enigheten ser ut til å være at panikkene i kjernen er et resultat av feil i kjernen i stedet for problemer med Ulatencyd. Når jeg bruker den nyeste koden til Ulatencyd fra sin Git-repo, og det siste daglige bildet av Ubuntu 14.04, har jeg imidlertid ingen problemer.
resultater
Jeg opplever at Ulatencyd gjør en forskjell, selv om opplevelsen kan være annerledes for deg. Hvis du allerede bruker en rask datamaskin, er potensialet for å se en forskjell lite fordi du allerede har nok ressurser til å gi hver prosess den oppmerksomheten den ønsker. For tregere datamaskiner er potensialet for å se en forskjell større, men det er avhengig av arbeidsmengden din.
Responsen er en ganske subjektiv statistikk, men den nærmeste beregningen som kan representere den er gjennomsnittlig belastning. Google+ bruker Rafal Cieslak prøvde Ulatencyd i kombinasjon med en annen daemon kalt verynice, og så den gjennomsnittlige belastningen synke fra 2,2 - 2,8 til 0,8 - 1,5. Det har jeg ikke helt sett mye av en forbedring ved bruk av ulatencyd alene, men tomgangsbelastninger på ~ 0,5 synker ned til ~ 0,2, og travle belastninger på ~ 2,4 faller ned til ~ 1,8-2,0. I alle fall er det en forbedring målbare.
For de som bryr seg, hevder utvikler Poelzleithner programvaren er effektiv:
Jeg kan kjøre en make -j 40 på min dual core-maskin mens jeg ser en full HD-film uten problemer, og ui-en fra kde føles fortsatt bra.
Dette er faktisk ganske imponerende for et dual core-system, da en “make -j 40” -kommando betyr at det var han å samle et stykke programvare med firti tråder som kjører på en gang - noe som er sikker på å holde CPU-en fullstendig benyttet.
Konklusjon
Husk at dette programmet ikke nødvendigvis gjør datamaskinen raskere (som at den kan gjøre mer arbeid på kortere tid), men bare gjør det mer responsivt (som i det, mer oppmerksomhet på de tingene du samhandler med og etterlater andre prosesser som afterthoughts). Det betyr imidlertid ikke at Ulatencyd ikke er verdt å prøve - et responsivt system kan være mye mindre skjerpende for brukeren.
Hvis du fortsatt er på jakt etter forbedret hastighet og respons, ikke glem å sjekke ut disse fire tips for å få fart på et Linux-system 4 måter å øke hastigheten på din Linux-PCEr ikke Linux-oppsettet ditt så raskt som du ønsker? Slik gjør du det. Les mer .
Har du noen triks i ermene for å forbedre ytelsen til et Linux-system som du kan dele med andre? Gi oss beskjed i kommentarene!
Danny er senior ved University of North Texas som liker alle aspekter av open source programvare og Linux.