Fem verktøy for å måle og forbedre Linux System Performance

Ut av boksen, kjører Linux helt fint for mange bruksområder. Men hvis du befinner deg som ønsker å fritte ut ytelsesproblemer eller tune kjernen for bedre ytelse, har Linux mer enn nok verktøy for å måle og justere systemytelsen. I denne guiden vil vi ta en titt på fem av de beste verktøyene for å måle systemets ytelse og finpusse Linux-kjernen.

Du vil finne mange, mange, mange
verktøy for måling og forbedre Linux systemytelsen. De verktøyene som diskuteres her er valgt fordi de er allment tilgjengelig, og gir et godt omfang funksjonalitet. Også valgte jeg å unngå verktøy som har for bratt læringskurve. Som et eksempel, er SystemTap litt mer komplisert enn bør være dekket i en oversiktsartikkel. Jeg dro ut noen av de mer grunnleggende verktøy som ps og topp fordi de fleste Linux-brukere er utsatt for dem ganske tidlig. Og jeg ville ikke prøve å takle eventuelle programspesifikke verktøy

. Dette vil ikke være det siste ordet på systemets ytelse og administrasjon på Linux.com, så ikke fortvil. I fremtidige tutorials, jeg skal dykke i litt dypere med konkrete verktøy og tuning: men dette bør være en god startpakke for nyere Linux admins

KDE System Monitor

KDE System Monitor. og GNOME System Monitor er både bra for å få en rask visuell representasjon av tilstanden i systemet. For meg har KDE System Monitor litt av en kant over sin GNOME motstykke fordi det tillater deg å overvåke eksterne systemer i tillegg til den lokale verten, så vi får se på at en i en litt mer dybde. Selvfølgelig kan du kjøre KDE System Monitor på en GNOME-skrivebordet, og den medfølgende daemon som gir data kan kjøres på et system uten et skrivebordsmiljø i det hele tatt.

Hvis du ikke har KDE System Monitor installert, se etter en pakke kalt ksysguard-. Du vil også være lurt å installere ksysguardd, som er nissen som gir data til KDE System Monitor frontend.

Når den er installert, bare å kjøre KDE System Monitor fra menyen eller ksysguard fra kommandolinjen. Når den starter opp, vil du se tre faner som standard som inkluderer en prosess bord, systembelastning, og lese /skrive summene for systemdisker. Nice, men neppe alt av hva dette verktøyet kan gjøre. KDE System Monitor har et sett med " sensorer " som kan brukes til å vise minnebruk, CPU load, disk gjennomstrømming, nettverksaktivitet og mer

For å fyre opp din helt egne skjermer, gå til Fil - >.; Ny fane. Du vil bli bedt om å angi antall rader og kolonner for fanen. Jeg pleier å velge ett til fire skjermer per fane. Når du har lagt en fane, kan du dra en eller flere av sensorene til en av cellene i kategorien. Det er ikke helt opplagt, men du kan ha mer enn én sensor per celle. Så, for eksempel, hvis du ønsker å ha ledig og brukt minne i swap vises i en enkelt celle, kan du gjøre det

Hvis du ønsker å overvåke et eksternt system, gå til Fil - >.; Monitor Remote Machine. Forutsatt at du har ksysguardd kjører på den eksterne verten, bør du være i stand til å bare godta standardinnstillingene. Du vil sannsynligvis ønske å ha en SSH nøkkel satt opp slik at du ikke trenger å oppgi et passord for å logge inn i fjern system, som standardtilkoblingen er gjort over SSH.

Når du har satt opp en fane til din smak, kan du lagre den til senere bruk. KDE System Monitor vil lagre filen som en .sgrd fil. KDE System Monitor er svært enkel å bruke, og bør ikke ta mye tid å få satt opp til å være nyttig. Den eneste virkelige problemet med dette verktøyet er at det er for det meste rettet mot sanntids overvåking, og har ikke en logging alternativ.

Overvåk System Med Dstat

I likhet med KDE System Monitor, dstat er en slags generell system profilering verktøy, men det er CLI-basert. Jeg liker dstat for en rekke årsaker. Først fordi det dekker alle baser: det er brukbart til å logge data eller se den i sanntid; det kan vise CPU load, disk I /O, nettverk motta /sende, etc. Det produserer også fargelegges utgang på konsollen, noe som gjør det litt enklere å skanne resultater raskt.

Dstat er skrevet av Dag Wieers. I motsetning til noen av de ytelsesverktøy, det inkluderer en anstendig mengde dokumentasjon. Og det er utvidbar; plugins kan legges til Dstat med Python. Hvis du ønsker å analysere dataene senere, kan du bruke Output muligheten til å skrive informasjonen til en CSV-fil egnet for import til OpenOffice.org, Gnumeric, eller hva din favoritt regneark kan være.

Hvis du ønsker å se en " hele " utgang som inkluderer CPU-bruk av CPU (for SMP-systemer), disk lese og skrive, nettverkstrafikk, og paging, bruke dstat -f.

Den nyeste versjonen av dstat skip med ganske mange plugins som er egnet for servere og personlige systemer. Dette inkluderer plugins for å undersøke MySQL ytelse, Postfix, Sendmail, Qmail, og mye mer. Du kan kombinere de plugins med innebygde funksjoner for dstat også. Så, for eksempel, hvis du ønsker å se MySQL I /O sammen med -a (alle) alternativ, kan du bruke dstat --mysql-io -a. Litt eksperimentering kan være nødvendig og ikke alle alternativene kan kombineres med andre alternativer

Ett ord av forsiktighet. Dstat kan ha noen innvirkning på systemets ytelse selv. Du ønsker kanskje å profilere de plugins du bruker og få en baseline av systemytelsen kjører med dstat å sørge for at du står for dens innflytelse. Se performance.txt filen under docs katalogen i dstat tarball. Pakker er tilgjengelig for ganske mange distroer også, men pekere på dstat nettstedet i seg selv kan føre til noen eldre utgivelser. (For eksempel Ubuntu Breezy, som er litt lang i tannen på dette punktet.)

Den sysstat auite

sysstat er egentlig en samling av flere hjelpemidler, inkludert sar, iostat, mpstat og pidstat. Du vil faktisk finne noen versjoner av sar flyter rundt. Det er atsar
pakken, og sar følger med sysstat
pakken. Her skal vi se på de sysstat verktøy, men du kan kjøre inn i små variasjoner hvis du bruker atsar versjon.

Hvorfor er jeg nevner dette hvis jeg allerede har dekket dstat? De enkelte verktøyene i sysstat suite er godt å vite, og du vil kanskje bli kjent med " standard " verktøy som er pre-pakket og mer allment tilgjengelig.

sar verktøyet er bra for å samle inn data på lang sikt. Når du installerer sysstat pakken på de fleste distroer, vil den automatisk legge cron jobber som vil samle inn data som skal vises med sar. Merk at du kan få en god grafisk visning av SAR-data ved hjelp av isag pakken eller Ksar.

Bare kjører sar vil vise CPU-bruk. sar -b vil gi deg informasjon om I /O blir skrevet og lest fra plater, og sar -B vil gi deg bla informasjon. SAR -En kommandoen vil vise stort sett alle av dagens data, inkludert leser og skriver med skillevegg, minnebruk, bla informasjon, og mye mer.

pidstat verktøyet kan brukes til å vise en god del informasjon om prosesser som kjører på et system. Du kan undersøke en prosess eller alle aktive prosesser. For eksempel vil kjøre pidstat -r 5 vise kjørende prosesser som har sidefeil og viser hvor mange som er små og store feil. Mange store sidefeil, og du vil begynne å se alvorlige ytelsesproblemer. Dette kan bidra til spiker ned hvilke prosesser er problemet.

iostat kommandoen vil la deg få en rask lese (få det?) På I /O-statistikk for CPU, lokale disker, og NFS-monteringer. Du kan velge å vise alle enheter eller innskrenke ved enheten. Den mpstat kommandoen vil la deg se CPU-bruk og inaktiv informasjon for systemet og av private CPUer. Det tar litt øvelse for å bli flink til å bruke sysstat suite, men det er verdt å lære.

Network Monitoring med Ifstat

ifstat verktøyet er å bygge nettverk grensesnitt aktivitet hva iostat er til enheten I /O og CPU aktivitet. Du kan bruke den til å vise aktivitet på en eller flere nettverksgrensesnitt. Når du kjører ifstat uten argumenter eller opsjoner, vil det vise trafikk for din standard nettverksgrensesnitt. Du kan angi én eller flere grensesnitt, og legge til et par alternativer for å gjøre resultatene lettere å lese og jobbe med.

Hvis du kjører ifstat på et system som har ubrukte eller inaktiv grensesnitt, bruker ifstat -z å skjule grensesnitt som er inaktiv (for eksempel et system med VMware som ikke kan bruke alle de vmnet grensesnitt på den tiden).

For å se hele båndbredden blir presset av et system, forteller -T alternativet ifstat å vise en total av alle grensesnitt i tillegg til de enkelte tallies. For å legge til et tidsstempel i begynnelsen av hver linje, bruk -t. Som standard informasjonen oppdateres hvert sekund. Hvis du ønsker å skru dette ned litt, kan du angi en forsinkelse ved å legge til et tall på slutten av kommandoen. Så vil ifstat -Tt 3 gir deg en skjerm med tellingen oppdateres hvert tredje sekund, og en total oversikt på slutten av skjermen.

Til slutt, hvis du bare vil ifstat å kjøre et par ganger, du kan angi et nytt nummer for å fortelle det til å gjenta at mange ganger. Hvis du vil oppdatere 10 ganger, for eksempel, kan du bruke ifstat -tT 5 10 for å få 10 oppdateringer fem sekunder fra hverandre. Generelt er ifstat enkel å bruke og komme i gang med.

Tune Linux Kernel med sysctl

Når det gjelder de faktiske resultatene tuning, vil du ønsker å vite sysctl. Sysctl verktøyet er faktisk brukes til å konfigurere kjerneparametere som er lagret i /proc /sys /. Parametrene vil endres med hver kernel versjon, og hvordan den er konfigurert. For å se alle parameterne som er tilgjengelige, kjøre sysctl -a eller sysctl -a | sorter hvis du vil ha dem alfabetisk.

Det bør gå uten å si at hvis du kommer til å finpusse disse innstillingene bør du enten skal jobbe på et testsystem, eller være helt sikker på hva du gjør. Eller begge. Helst begge

For å endre en av parametrene, kjøre sysctl -w key.value = ". NewValue "
. Merk at dette bare vil holde endringen til neste gang systemet startes på nytt. For å gjøre en innstilling permanent, kan du legge det til /etc/sysctl.conf.

Det er alt for nå. Hvis du er interessert i å gjøre noe videre, mer i dybden, leser du ønsker å starte med IBMs guide Redbooks Linux Ytelse og Tuning retningslinjer, som er relativt strøm (oppdatert april 2008), og spesielt ser på Red Hat og SUSE Linux . Det er en god, detaljert titt på ytelse tuning. Anmeldelser