CPU-ydeevne er et aspekt ved måling af et systems ydeevne. Overvågning af CPU’ens ydeevne er afgørende for fejlretning af processer i ethvert system, styring af systemressourcer, systembeslutninger og evaluering og undersøgelse af systemer i realtid.
Der er mange værktøjer til rådighed til overvågning og visning CPU-ydeevne. Operativsystemer har indbyggede systemopkald, som disse værktøjer er afhængige af for at udtrække ydeevneaflæsningerne.
I denne vejledning vil vi undersøge det bedste overvågningsværktøj til CPU-brug og deres anvendelser i enhver Linux-baseret distro.
1) Top
Topkommandoen viser realtidsvisning af ydeevnerelaterede data for alle kørende processer i et system. Som standard opdaterer den øverste kommando data hvert 5. sekund. Skriv “top” fra terminalen for at se de statistiske data, der er relateret til et systems ydeevne.
# top
For at ændre output fra øverste kommando skal du trykke på:
“P” for at sortere efter CPU-brug.
“I” for at fjerne ledige processer fra displayet og for at vende tilbage, tryk på “I” igen.
“M” for at sortere data efter hukommelsesforbrug.
“S” for at sortere efter, hvor længe processerne har kørt type.
“P” for at sortere efter CPU-brug.
“U” for at se processer, der ejes af en bestemt bruger.
“K” for at dræbe processer.
“R” for at nægte processer.
2) Iostat
iostat-kommandolisten CPU-udnyttelse, enhedsudnyttelse og netværksfilsystemudnyttelse. Dette hjælpeprograms skærmsystems gennemsnitlige CPU-udnyttelse siden sidste genstart. At køre følgende kommando uden nogen indstillinger viser alle de tre rapporter.
# iostat
For at liste den enkelte rapport skal du bruge -c, -d og -h switch til CPU-udnyttelse , enhedsudnyttelse og netværksfilsystemudnyttelse. Den følgende kommando bryder CPU-udnyttelsen i brugerprocesser, systemprocesser, I / O ventetid og inaktiv tid.
# iostat -c
Den følgende kommando viser udvidede statistikker ( -x), antallet af gange (-t) hver rapport skal vises til CPU-udnyttelse (-c).
# iostat -xtc 5 2
3) Vmstat
Kommandoen vmstat viser statistik om systemprocesser, hukommelse, swap, I / O og CPU-ydeevne. Til visning af statistik indsamles dataene fra sidste gang kommandoen blev kørt til i dag. Hvis kommandoen aldrig køres, vil dataene være fra den sidste genstart til det aktuelle tidspunkt.
På flere CPU-systemer er vmstat gennemsnit af antallet af CPU’er i output. Vmstat-kommandoen opdaterer sin output som den øverste kommando.
Den følgende kommando opdaterer sin rapport hvert 5. sekund, indtil der er et afbrydelse.
# vmstat 5
Følgende kommando viser de data, der opdateres hvert 5. sekund, og værdierne måles igen og rapporteres hvert 1. sekund.
# vmstat 1 5
første linje udskriver de gennemsnitlige værdier siden sidste gang computeren blev genstartet. Resten af linjerne viser deres respektive aktuelle værdier. En normal bruger kan køre vmstat-kommandoen.
4) Mpstat
Mpstat er en del af sysstat-pakken i Linux. Kommandoen mpstat skriver til standardoutput om aktiviteter for hver tilgængelig processor, hvor processor 0 er den første. Hvis der ikke er valgt nogen aktivitet, er standardrapporten CPU-udnyttelsesrapporten.
mpstat uden nogen indstilling viser globale gennemsnitlige aktiviteter for alle CPU’er
# mpstat
mpstat med -p option og “ALL” viser statistik om alle CPU’er en efter en startende fra 0.
# mpstat -P ALL
Den følgende kommando vil liste gennemsnitlig CPU-brug i 4 gange, hver efter 2 sekunder.
# mpstat -P ALL 2 4
5) Sar
Sar er et ydeevneovervågningsværktøj til indsamling, visning og optagelse af ydeevnedata og kan liste, hvad et system gør hele tiden. Sar-kommandoen kan generere rapporter og e-maile dem til systemadministrator. Statistikken rapporteret af sar inkluderer I / O-overførselshastigheder, personsøgningsaktivitet, procesrelaterede aktiviteter, afbrydelser, netværksaktivitet, hukommelse og swap-pladsudnyttelse, CPU-udnyttelse, kerneaktiviteter og TTY-statistik, blandt andre. Kør sar uden nogen mulighed, og kontroller output. Standard outputliste statistik for hvert 10. minut og et endeligt gennemsnit.
# sar
Vis CPU-statistik 3 gange med 2 sekunders interval.
# sar 2 3
Følgende kommando viser kumulativ realtids-CPU-brug af al CPU i hvert 2. sekund i alt 3 gange.
# sar -u 2 3
Indstillingen “-P ALL” viser statistik for ALLE de enkelte kerner. Hvis dit system har 4 kerner, vil “CPU-kolonnen” indeholde tallet 0, 1, 2, 3, der angiver de tilsvarende CPU-kernenumre.Indstillingen “2 3” viser statistikken hvert 2. sekund i 3 gange.
# sar -P ALL 2 3
Muligheden” -P 2 “viser statistik for tredje kerne hvert 2. sekund i 3 gange.
# sar -P 2 2 3
6) CoreFreq
CoreFreq er en CPU-ydelsesovervågningssoftware designet til 64-bit processorer med arkitekturer Intel Atom, Core2, Nehalem, SandyBridge og overlegen, AMD Family. CoreFreq giver en ramme til at hente CPU-data med en høj grad af præcision. Kernemodulet, dæmonen og brugerlandets kommandolinjegrænseflade (CLI) er de tre dele af Corefreq. Kernemodulet har fuld adgang til værten. Det er dets ansvar at indsamle data på lavt niveau. Userland-dæmonen indsamler dataene. Du skal være rodbruger for at køre dæmonen. Endelig kommer CoreFreq med en terminalgrænseflade til at rapportere data i et pænt menneskeligt læsbart format. Dette CLI-værktøj er en almindelig proces og kan bruges af slutbrugeren.
Forudsætning
i) CoreFreq bruger tælleren på lavt niveau og derfor skal du først deaktivere NMI-vagthund gennem / etc / default / grub. Rediger / etc / default / grub, og tilføj “nmi_watchdog = 0” kernen kommandolinjeargument og kør derefter opdateringsgrub.
# vi /etc/default/grub
.................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
# update-grub && reboot
ii) Ingen virtualisering. VM’er giver ikke adgang til de registre, som CoreFreq-driveren bruger.
Installer CoreFreq
Installer kernemodulet med insmod
# sudo insmod corefreqk.ko
Angiv CoreFreq-modulet med lsmod
# lsmod | grep corefreq corefreqk 49152 0
Outputtet fra dmesg-kommandoen viser, at CoreFreq er blevet genkendt af processoren.
# sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU
Start CoreFreq-dæmonen
# sudo ./corefreqd
read more