hoe en waarom het CPU-gebruik van de Server bewaakt

wanneer ik een toepassing gebruik, wil ik dat het snel is. Snelle toepassingen maken me gelukkig. En ik weet zeker dat het bij iedereen hetzelfde is. Als u eigenaar bent van een applicatie die werkt met het internet, is het essentieel om zich te concentreren op de prestaties van de server. Er zijn veel dingen om voor te zorgen om een goed presterende server te hebben. Maar om iets te verbeteren, moet je weten waar het staat in de eerste plaats. Daarom is het monitoren van uw server de eerste stap om de prestaties van uw server te verhogen.

wanneer we praten over wat moet worden gecontroleerd om de prestaties van een server te begrijpen, zijn er veel metrics die naar voren kunnen komen. We zullen ons richten op slechts een in deze post: server CPU gebruik. We zullen beginnen met uit te leggen wat server CPU gebruik is, en dan zullen we bespreken waarom en hoe het te controleren.

CPU in Scalyr kleuren betekent server cpu gebruik monitor

wat betekent server CPU-gebruik?

alles wat op de server gebeurt is een taak voor het systeem. Deze taak wordt afgebroken tot processen die door de server worden uitgevoerd. Processen kunnen van verschillende complexiteit zijn en verschillen in hoe snel ze kunnen worden voltooid. En op basis hiervan, de CPU duurt enige tijd om het proces uit te voeren. Met andere woorden, de CPU wordt gebruikt om het proces uit te voeren. CPU-gebruik is het percentage van de tijd dat de CPU wordt gebruikt om zijn taken te voltooien.

server cpu gebruik monitor

wanneer uw systeem actief is, kan een CPU in drie toestanden zijn: inactief, bezig, of wachten op I/O.

Inactief

wanneer de CPU in de inactieve toestand is, doet de CPU niets. Het is gewoon wachten tot er een taak aan wordt toegewezen. Het is zeer onwaarschijnlijk dat een CPU in inactieve staat te zien als u een enkele processor systeem. Zelfs als u geen enkele toepassing uitvoert of iets doet, zou de CPU worden gebruikt om taken van het besturingssysteem uit te voeren. Maar als uw systeem meerdere processors heeft, kunt u een of een aantal van hen inactief zien. Dit kan zijn omdat er slechts één of enkele processors worden gebruikt en de anderen niets te doen hebben.

bezet

het tegenovergestelde van de inactieve status is de bezet-status, dat is wanneer de CPU wordt gebruikt om een proces uit te voeren. Een CPU is verantwoordelijk voor verschillende soorten taken. Tijdens het proces van het uitvoeren van taken, een CPU doet vier dingen:

  1. Fetch: de instructies om de taak te voltooien worden opgeslagen in het geheugen. De CPU moet deze instructies uit het geheugen halen om te begrijpen wat te doen.
  2. decoderen: de instructies voor de CPU kunnen in verschillende formaten zijn, zoals een programma. Bijvoorbeeld, laten we zeggen dat je een programma schreef in C, Java, of Python. CPU ‘ s kunnen deze codeertalen niet direct begrijpen. Het moet het decoderen in een vorm die het kan begrijpen.
  3. uitvoeren: Dit is wanneer de CPU daadwerkelijk de taak doet.
  4. opslag: zodra de CPU de taak heeft voltooid, moet het feedback geven over de taak. De resultaten na het uitvoeren van de taak worden opgeslagen in het geheugen.

I / O-operaties

dit is de toestand waarin de CPU niet volledig inactief is, maar ook niet bezet. Tijdens het uitvoeren van een proces moet een CPU mogelijk gegevens naar een ander onderdeel of proces uitvoeren. Of de CPU kan moeten wachten om gegevens te krijgen van een ander proces of component. In dat geval, het wacht op de I/O-operatie om te zijn voltooid, zodat het kan hervatten het uitvoeren van zijn taak.

CPU-gebruik is de maat van de CPU wanneer deze zich in een niet-inactieve toestand bevindt. Hoewel CPU-gebruik wordt gemeten in percentage, kon je zien CPU-gebruik waarden groter zijn dan een 100%. Dit betekent niet dat de CPU overbelast is. Bijvoorbeeld, je zou zien CPU gebruik meer dan 100% in multiprocessor systemen. De waarde van CPU-gebruik voor een systeem is de som van het percentage CPU-gebruik van individuele CPU ‘ s. Dus, als je twee processors hebt en een van hen heeft een CPU-gebruik van 60% en de andere heeft een CPU-gebruik van 50%, zou de totale CPU-gebruikswaarde 110% zijn.

Wat veroorzaakt een hoog CPU-gebruik?

het vinden van de kern van het probleem helpt u betere oplossingen te implementeren voor hoog CPU-gebruik. Er kunnen verschillende redenen zijn voor CPU-gebruik op basis van use-cases. Ik noem de meest voorkomende oorzaken.

processen met een hoge CPU-vereiste

sommige programma ‘ s vereisen hoge CPU-bronnen. Als je een systeem met een lage specificatie hebt en probeert een high-end videospel uit te voeren, zal het CPU-gebruik natuurlijk door het dak gaan. Evenzo kunnen er verschillende processen zijn die hoge CPU-middelen vereisen om te werken. Dergelijke processen of een aantal processen die als een subtotaal gebruik maken van hoge CPU kan een van de oorzaken. Op servers, meerdere services draaien om de server draaiende te houden, simulaties, enz., kan hoge CPU-gebruik veroorzaken.

achtergrondprocessen

processen kunnen hoofdzakelijk worden onderverdeeld in 2 categorieën: systeemprocessen en toepassingsprocessen. Systeemprocessen zijn de processen die nodig zijn om uw systeem draaiende te houden. Applicatieprocessen zijn de processen die je zou gebruiken voor een specifiek doel. Wanneer deze processen op de achtergrond blijven draaien, eten ze CPU-bronnen op.

veel toepassingsprocessen blijven op de achtergrond draaien, zelfs nadat u het toepassingsvenster hebt gesloten. Dit is minder waarschijnlijk te gebeuren op een server, omdat een server wordt meestal onderhouden en schoongemaakt periodiek om alleen de processen die het nodig heeft, maar het is nog steeds mogelijk.

Malware

Malware (kwaadaardige Software) zijn programma ‘ s die door kwaadaardige actoren worden gebruikt om uw systeem aan te vallen of om onwettige acties op uw systeem uit te voeren. In eerste instantie maakt malware geen gebruik van hoge CPU-bronnen om verborgen te blijven, maar wanneer ze beginnen met het uitvoeren van kwaadaardige acties, veroorzaken ze een hoog CPU-gebruik. Ik was getuige van dit incident waarbij malware was geïnduceerd in een server een week voor en op een dag begon het overbrengen van alle gevoelige gegevens van de server naar cloud storage. Zo, deze malware niet veel CPU-middelen gebruiken terwijl het het opzetten van dingen en het vinden van kritische gegevens. Maar zodra het gevonden alles wat het nodig had, er was een enorme piek in CPU-gebruik als gevolg van gegevensoverdracht.

Unoptimized Code

het is gebruikelijk dat aangepaste code draait op servers voor specifieke taken. Als dergelijke codes niet zijn geoptimaliseerd, kunnen ze uiteindelijk met behulp van een heleboel CPU-middelen. Unoptimized loops en recursie zijn enkele van de meest voorkomende oorzaken voor hoge CPU-gebruik als gevolg van unoptimized code.

veelvoorkomende Fixes voor hoog CPU-gebruik

gebaseerd op de eerder behandelde veelvoorkomende oorzaken, laten we eens kijken naar enkele van de veelvoorkomende fixes voor hoog CPU-gebruik.

herstart

een systeemherstart is een oplossing voor de meeste computerproblemen. Hoe zou dat helpen bij het verminderen van CPU-gebruik? Een herstart zou alle achtergrond processen die kunnen zijn gestart als gevolg van een aantal actie te sluiten, maar je niet langer nodig hebt. Het zou ook zombie processen of andere processen die voor onbepaalde tijd draaien als gevolg van storing te beëindigen. Dus het opnieuw opstarten van uw systeem zou alle (tenminste de meeste) van de onnodige processen schoon te maken en het CPU-gebruik te verminderen.

einde achtergrondprocessen

het opnieuw opstarten van het systeem is mogelijk niet haalbaar, vooral voor servers. Zo, je moet onnodige processen te behandelen zonder het systeem opnieuw op te starten. Om dit te doen, kunt u een lijst van alle processen die worden uitgevoerd, identificeren welke processen onnodig zijn, en ze beëindigen. Dit is hoe het eruit zou zien in Windows Taakbeheer:

server cpu gebruik monitor

een andere oplossing is om te gaan met opstartprocessen. Er zijn een aantal processen die zijn geconfigureerd om te starten zodra uw systeem opstart. Sommige zijn noodzakelijk en andere niet. U kunt dergelijke processen identificeren en ze uitschakelen van autostarten. In windows, u kunt ze vinden onder de” opstarten ” tab in de Taakbeheer:

server cpu gebruik monitor

Anti-Malware

Malware is gevaarlijk. Niet alleen in termen van CPU-gebruik, maar in het algemeen ook. Sommige malware veroorzaken hoge CPU-gebruik en het gebruik van anti-malware kan uw beste verdediging tegen dergelijke malware zijn. Moderne anti-malware software zijn slim en geavanceerd. Ze kunnen niet alleen malware in uw systeem identificeren en verwijderen of in quarantaine plaatsen, maar ze kunnen ook voorkomen dat malware op uw systeem komt. Dus door het gebruik van anti-malware, zult u niet alleen de vaststelling van hoge CPU-gebruik, maar ook voorkomen dat hoge CPU-gebruik als gevolg van malware.

Code optimalisatie

als u vaststelt dat de reden voor hoog CPU-gebruik te wijten is aan niet-geoptimaliseerde code, dan moet u deze optimaliseren. U moet de code te analyseren en uit te vinden welk deel van de code verbruikt CPU-middelen en optimaliseren.

CPU-Upgrade

als u alle andere problemen hebt opgelost en alles hebt geoptimaliseerd en nog steeds een hoog CPU-gebruik ziet, betekent dit dat uw CPU-vereiste hoog is. In dergelijke gevallen is er geen andere optie dan uw CPU-bronnen te upgraden.

Waarom moet u het CPU-gebruik van de Server controleren?

een server kan twee soorten taken hebben die op een hoog niveau moeten worden uitgevoerd: een taak van de gebruiker en een taak binnen het systeem. Een taak van de gebruiker is wanneer een gebruiker een service of gegevens van de server heeft aangevraagd. Laten we zeggen dat je naar YouTube gaat en iets zoekt. De server van YouTube moet alle video ‘ s ophalen die relevant zijn voor uw zoekopdracht en deze verzenden als antwoord op uw verzoek. Deze transactie van gegevens maakt gebruik van CPU-tijd.

een server heeft andere taken dan alleen reageren op gebruikers. Het spreekt vanzelf dat de CPU wordt gebruikt om het besturingssysteem en webservices uit te voeren. Maar afgezien van dit, servers kunnen worden gebruikt om een aantal scripts uit te voeren om gegevens te verwerken. Een veel voorkomend voorbeeld is het draaien van Ansible playbooks. Deze playbooks kunnen taken uitvoeren, zelfs zonder dat de gebruiker hoeft in te grijpen.

Resources en taken beheren

als uw CPU-gebruik laag is, verspilt u uw resources. En als uw CPU-gebruik is zeer hoog, het systeem vertraagt en zou kunnen beginnen achterblijvend. U wilt niet dat een van deze te gebeuren, dat is waarom het belangrijk is om te controleren server CPU gebruik. Monitoring server CPU gebruik helpt u te begrijpen hoeveel uw CPU wordt gebruikt. Dit zal u helpen bij de beslissing of u kunt uw CPU meer banen te doen of het verhogen van uw middelen om tegemoet te komen aan de noodzaak.

het optimaliseren van programma ‘ s

het monitoren van het CPU-gebruik van de server is zeer voordelig geweest voor het beheren van bronnen en het optimaliseren van taken. Er zijn gevallen geweest waarin programma ‘ s meer tijd in beslag nemen dan ze idealiter zouden moeten nemen. Wanneer u ziet dat het CPU-gebruik hoger is, zelfs tijdens het uitvoeren van een kort, eenvoudig programma, weet u dat er iets mis is met uw programma. Vaak zijn programma ‘ s niet efficiënt door slechte programmeerpraktijk. Monitoring CPU-gebruik kan u helpen bij het vinden van dergelijke gevallen en het optimaliseren van de code. Daarom is het monitoren van CPU-gebruik als het raken van twee vogels met één steen.

nu we klaar zijn met het” wat “en” waarom “van CPU-gebruik en geleerd hebben hoe nuttig het CPU-gebruik van de monitoringserver kan zijn, gaan we naar het” hoe ” gedeelte.

het CPU-gebruik van de Server controleren

het CPU-gebruik is niet zoiets als geld dat u over een bepaalde periode kunt besparen en vervolgens kunt gebruiken wanneer u dat wilt. Ongebruikte CPU is een verspilde bron. Daarom wil iedereen dat het CPU-gebruik van de server dicht bij de 100% ligt. En om het op zijn best te houden, moet je misschien wat tweaken doen en het systeem bijwerken. Om te weten wat te doen, moet u de huidige status van de server CPU gebruik weten.

u kunt het CPU-gebruik van uw server controleren met één commando. Als u een Windows-besturingssysteem hebt, opent u de opdrachtprompt en voert u deze opdracht uit:

wmic cpu get loadpercentage

u moet het CPU-gebruikspercentage zien zoals weergegeven in deze screenshot:

op basis van uw eis kunt u periodiek CPU-gebruik opvragen en de gegevens ergens opslaan en later bekijken. Of u kunt CPU-gebruik streamen naar een dashboard om op elk gewenst moment te controleren.

de meeste besturingssystemen worden geleverd met ingebouwde tools en hulpprogramma ‘ s voor het monitoren van CPU-gebruik. Maar deze tools hebben beperkingen en ze zijn meestal te eenvoudig. In het huidige tijdperk hebben we geavanceerde mogelijkheden nodig om met monitoringgegevens om te gaan en er aan te werken, en dat vraagt om geavanceerde monitoringinstrumenten. Bijna elke service is nu online. En servers spelen een belangrijke rol bij het beschikbaar maken van deze diensten. U kunt het zich niet veroorloven om een paar uur te wachten om te weten dat uw server down is als gevolg van hoge CPU-gebruik. U moet het CPU-gebruik en andere serverstatistieken continu controleren.

continu monitoren

het controleren van het CPU-gebruik van de server op een bepaald moment heeft niet veel zin. U hebt een oplossing nodig om het CPU-gebruik van de server continu te controleren. Bijna elk server-besturingssysteem wordt geleverd met een Prestatiemeter waar u het CPU-gebruik op een bepaald moment kunt zien. Bij het bewaken van server CPU-gebruik, moet u op zoek naar spikes, als plotselinge veranderingen in CPU-gebruik aangegeven dat er iets buiten het gewone is gebeurd.

samen met het monitoren van CPU-gebruik in real time, u wilt deze gegevens op te slaan, zodat u kunt visualiseren en analyseren op verschillende intervallen. Om het meeste uit CPU-gebruiksstatistieken te halen, moet u CPU-gebruiksgegevens met regelmatige tussenpozen verzamelen (bij voorkeur in real time) door logs te genereren, en u moet het visualiseren in de vorm van grafieken. We hebben net gesproken over een metrische, maar vergeet niet dat server CPU-gebruik is niet het enige te controleren. Om alles wat je nodig hebt op één plek te krijgen, gebruik Scalyr.

Leave a Reply

Het e-mailadres wordt niet gepubliceerd.