Gör ditt Linux-system mer responsivt med Ulatencyd
För några år sedan, en magisk “200-linjars patch” läggs till i Linux-kärnan. Det syftade till att öka responsen hos program som körs samtidigt på ditt Linux-system. Medan det var effektivt anser utvecklaren Daniel Poelzleithner att han kan göra bättre.
För att uppnå ultimat lyhördhet på ditt Linux-system kanske du vill ta en titt på Ulatencyd.
Varning: För att prova Ulatencyd måste du hämta dig djupt i terminalen och kompilera programmet från början. Med andra ord är detta inte det bästa valet för nybörjare. Om du vill kan du borsta på några terminalkommandon. En A-Z av Linux - 40 viktiga kommandon som du borde veta en A-Z av Linux - 40 viktiga kommandon Du borde veta Linux är det ofta ignorerade tredjehjulet till Windows och Mac. Ja, under det senaste decenniet har operativsystemet öppen källkod fått mycket dragkraft, men det är fortfarande långt ifrån att bli övervägt ... Läs mer på förhand.
Om Ulatencyd
Ulatencyd är en systemdemon för Linux som ger kärnan några tips och begränsningar om hur man hanterar processer. Det gör detta med hjälp av något som kallas cgroups, vilket är i huvudsak olika prioritetsnivåer. Processer som har grafiska användargränssnitt och behöver vara mottagliga - till exempel skrivbordsmiljöer - får högre prioritet än processer som inte behöver ha så mycket uppmärksamhet och kommer inte att orsaka allvarliga problem om de stammar.
Poelzleithner tar också upp hur hans tillvägagångssätt är bättre än 200-linjens patch:
Jag tror att det här minimala tillvägagångssättet (hänvisar till 200-linjepatchen) är bra under vissa omständigheter, men ger inte tillräckligt med flexibilitet som krävs för ett verkligt skrivbord med låg latens. Perfekt stationär schemaläggning kräver en hel del heuristik, som inte hör hemma i kärnan. Till exempel skyddar inte plåstret dig från byte av död, gaffelbomber, kan inte upptäcka vilken process du faktiskt använder och ge mer cpu-aktier till dem, kan inte ge realtidsprioriteringar till 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 kommer att installera programvarans nödvändiga beroenden. Paketnamn skiljer sig från distros, så användare av distros än Ubuntu kommer att behöva titta på projektets sida och se vilka paket som behöver installeras baserat på den angivna listan.
Därefter leder du till projektets huvudsida som är värd för GitHub, en extremt användbar kodhanteringstjänst. Så här visar och redigerar du källkoden för en öppen källkod. Hur man visar och rediger källkoden för en öppen källkods app medan går öppen källkod kan vara ett bra val, du måste också investera i rätt samhälle. GitHub är en av de bästa ställena att göra detta, inte bara på grund av det stora beloppet ... Läs mer och klicka på “Hämta ZIP” knappen på höger sida av sidan.
Spara det där du vill (t.ex. din mapp för nedladdningar) och dra sedan ut zip.
Sedan, för alla distros, använd cd 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 docs && sudo make install
Detta kommer att sammanställa koden och dokumentationen och sedan installera den.
Slutligen kör detta kommando för att starta ulatencyd:
sudo / usr / local / sbin / ulatencyd -v -f / var / log / ulatencyd
Du kan också välja att starta om systemet om du vill.
anteckningar
Tänk på att vissa personer har rapporterat att installationen av Ulatencyd har orsakat kärnanpanik. Den allmänna överenskommelsen verkar vara att dessa kärnan panik är resultatet av buggar i kärnan snarare än problem med Ulatencyd. Men när jag använder den senaste Ulatencydkoden från sin Git repo och den senaste dagliga bilden av Ubuntu 14.04 har jag emellertid inga problem alls.
Resultat
Jag tycker att Ulatencyd gör skillnad, även om erfarenheten kan vara annorlunda för dig. Om du redan använder en snabb dator är potentialen att se skillnad låg eftersom du redan har tillräckligt med resurser för att ge varje process den uppmärksamhet som den vill ha. För långsammare datorer är potentialen att se skillnaden större, men den är beroende av din arbetsbelastning.
Responsiveness är en ganska subjektiv statistik, men närmaste mätvärde som kan representera det är den genomsnittliga belastningen. Google+ användaren Rafal Cieslak försökte Ulatencyd i kombination med en annan demon kallad verynice, och såg genomsnittlig belastning sjönk från 2,2 - 2,8 till 0,8 - 1,5. Jag har inte sett så mycket av en förbättring med hjälp av ulatencyd ensam, men ofrivilliga belastningar på ~ 0,5 sjunker ner till ~ 0,2 och upptagna massor av ~ 2,4 fall ner till ~ 1,8-2,0. Det är i alla fall en förbättring som är 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 tittar på 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, som en “gör -j 40” kommando innebär att han sammanställde en mjukvara med fyrtio trådar som körs samtidigt - något som säkert kommer att hålla CPU-enheten fullt ut utnyttjad.
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 gör det bara mer responsivt (som i det ger mer uppmärksamhet åt de saker du interagerar med och lämnar andra processer som afterthoughts). Det betyder dock inte att Ulatencyd inte är värd att försöka - ett lyhörd system kan vara mycket mindre försvårande för användaren.
Om du fortfarande är på jakt efter förbättrad hastighet och lyhördhet, glöm inte att kolla in de här fyra tipsen om att påskynda ett Linux-system. 4 sätt att öka din Linux-dator 4 sätt att öka din Linux-dator Är din Linux-inställning inte så snabb som du vill? Så här snabbar du på. Läs mer .
Har du några knep på ärmarna för att förbättra ett Linux-systemets prestanda som du kan dela med andra? Låt oss veta i kommentarerna!