Ladda övervakning är en av de mest kritiska uppgifterna, särskilt om du arbetar med servrar. Det ger dig inte bara en uppfattning om hur systemets resurser utnyttjas men hjälper dig också att diagnostisera prestationsrelaterade problem. I den här artikeln kommer vi att diskutera hur man utför lastövervakning i Linux med hjälp av atopverktyget.

Obs! Alla exemplen som används i artikeln testas på Ubuntu 14.04.

atop

Enligt sin man-sida är kommandoradsverktyget atop en interaktiv bildskärm för att visa belastningen på ett Linux-system. Det visar hur ditt systems hårdvara resurser, inklusive cpu, minne, disk och nätverk är upptagna, allt från en prestanda synvinkel. Inte bara detta, men det visar också vilka processer som är ansvariga för den angivna belastningen.

Obs! Skivbelastningen visas om processen "lagringsbokföring" är aktiv i kärnan eller om kärnfliken "cnt" har installerats. På samma sätt visas nätverksbelastningen endast per process om kärnfliken "cnt" har installerats.

Ladda ner och installera

Användare av Debian-baserade system (som Mint och Ubuntu) kan hämta och installera verktyget med följande kommando:

 sudo apt-get installera ovanpå 

De som är på andra Linux-distributioner kan använda sina respektive pakethanteringsverktyg. Till exempel, yum vid Red Hat. Du kan också ladda ner verktyget från dess officiella hemsida.

Atop utgång

När du har installerat kan du utföra verktyget genom att utföra följande kommando från kommandoraden:

 sudo på toppen 

Här är provutmatningen:

Som du kan se är det mycket information som i stort sett delas upp i två delar: Systemnivå och Processnivå. Den förstnämnda består av följande utgångslinjer:

PRC : Denna rad innehåller den totala processorns tid som förbrukas i systemläge ('sys') och i användarläge ('användare'), det totala antalet processer som för närvarande finns närvarande ('#proc'), det totala antalet trådar som presenteras för tillfället i tillståndet 'running' ('#trun'), 'sleeping interruptible' ('#tslpi') och 'sleeping unruptable' ('#tslpu'), antalet zombieprocesser ('#zombie'), antalet klonsystem samtal ('kloner') och antalet processer som slutade under intervallet ('#exit', vilket visar '?' om processbokföring inte används).

CPU : Den här raden innehåller procentuell CPU-tid som spenderas i kärnläge med alla aktiva processer ('sys'), i användarläge ('användare') för alla aktiva processer (inklusive processer som körs med ett bra värde större än noll) avbrottshantering ("irq") inklusive sofirq, liksom procentandelen av oanvänd CPU-tid medan inga processer väntade på disk-I / O ("tomgång") och medan minst en process väntade på disk-I / O 'vänta'). Vid ett system med flera processorer visas en extra rad för varje enskild processor (med "cpu" i små bokstäver), sorterad på aktivitet.

CPL : Den här raden innehåller information om CPU-belastning - antalet trådar som kan köras på en CPU (dvs. en del av runqueue) eller som väntar på disk I / O, antalet konvertsomkopplare ('csw'), antal underhållsavbrott ('intr') och antalet tillgängliga CPU: er.

MEM : Den här raden innehåller information om minneförbrukning - den totala mängden fysiskt minne ('tot'), mängden minne som för närvarande är gratis ("gratis"), mängden minne som används som sidcache ("cache" ), mängden minne i sidcachen som ska spolas till disken ("smutsig"), mängden minne som används för filsystemmeta-data ("buff") och mängden minne som används för kernelmalloc s ').

SWP : Den här raden innehåller det totala antalet swap space på disken ('tot') och mängden gratis byteutrymme ('gratis'), det virtuella minnesutrymmet ('vmcom') och den maximala gränsen för det engagerade rymden ( 'vmlim')

DSK : Den här raden innehåller information om diskutnyttjande - den del av tiden som enheten var upptagen med att hantera förfrågningar ("upptagen"), antalet läsförfrågningar som utfärdades ("läs"), antalet skrivförfrågningar som utfärdades ("skriv" ), antalet KiBytes per läs ('KiB / r'), antalet KiBytes per skriv ('KiB / w'), antalet MiBytes per sekund genomströmning för läser ('MBr / s'), antalet MiBytes per sekund genomströmning för skrivning ('MBw / s'), medelkön djup ('avq') och det genomsnittliga antal millisekunder som krävs av en begäran ('avio') för sökning, latens och dataöverföring.

NET : Detta är informationen relaterad till nätverksutnyttjande (TCP / IP) - en rad visas för transportlagrets aktivitet (TCP och UDP), en linje för IP-lagret och en rad per aktivt gränssnitt.

Systemnivåinformationen följs av processnivåinformation, som som namnet antyder detaljer information relaterad till de processer från vilka resursutnyttjandet har ändrats under det sista intervallet (ett standardintervall är 10 sekunder).

En viktig punkt som är värt att nämna är att på toppen använder färger (röd, cyan och mer) för att indikera kritik av resursförbrukningen på systemnivå. Till exempel, när en resurs överskrider sin kritiska yrkesprocent, är hela skärmlinjen färgad RÖD.

Obs! Gå igenom kommandos manningssida för mer information om kommandot.

Interaktiva kommandon

Du kan styra utmatningen från kommandot atop från tangentbordet. Till exempel, tryck på m att visa minnesrelaterad utgång, d för diskrelaterad utgång, n för nätverksrelaterad utgång, v för olika processegenskaper, c för processens ledning, etc.

Här är skärmbilden av processnivåinformationen som produceras av kommandot atop när c trycks ned:

Såsom du kan se visas kommandoraden i processen i utmatningen.

Slutsats

Atop är ett mycket användbart belastningsövervakningskommando i Linux som inte bara ger en hinklad information om systemresurser utan också olika sätt att anpassa och styra dess utmatning. Du rekommenderas att gå igenom kommandos manningssida för att lära dig mer om det.