Hur du löser problem med överanvändning av resurser

Alla webbhotellkonton har resursbegränsningar som upprätthålls av CloudLinux LVE (Lightweight Virtual Environment), en kärnnivåteknik inbyggd i servern. Begränsningarna säkerställer att alla webbplatser får rättvis och likvärdig tillgång till sin tilldelade andel resurser. 

Dessa resurser inkluderar CPU, fysiskt minne, entry processes och antalet aktiva processer. Du hittar godtagbara värden för dessa resurser samt deras mjuka och hårda burstvärden i vår Acceptable Use Policy

När ditt konto konsekvent når dessa gränser kallar vi det för överanvändning av resurser. Detta kan leda till långsammare webbplats, felmeddelanden eller timeout på webbplatser som är värdade på ditt konto. 

OBS! Om en domän på ditt webbhotellkonto överskrider resursgränsen påverkas alla andra domäner som är värdade under samma konto, eftersom de delar samma resursutrymme.

Den här artikeln hjälper dig att identifiera och åtgärda överanvändning av resurser.

Kontrollera din aktuella resursanvändning 

För att kontrollera resursanvändningen för ditt webbhotellkonto i cPanel, titta på avsnittet Statistik som visas till höger:

OBS: Du får också aviseringar om resursgränser för webbhotellkontot i ditt Spaceship-konto. För mer fullständig information, se menyn "Hosting Usage" i ditt cPanel-konto.

Och överträdelser av vår Acceptable Use Policy kommer att listas i menyn “Hosting Manager” > klicka på “Hantera” bredvid det aktuella webbhotellpaketet > avsnittet Hosting usage > underavsnittet Reports log.  

Låt oss gå igenom de viktigaste resursmåtten och hur de påverkar din webbplats prestanda:

CPU-användning

CPU-användning visar hur mycket av den tilldelade CPU-kraften som används vid varje given tidpunkt. Det visas som en procentandel av ditt webbhotellkontos totala kapacitet.

Om CPU-användningen når 100 %, använder ditt konto alla sina tilldelade resurser. Som ett resultat kommer nya processer att fördröjas (läggas i vila) tills befintliga är klara. Detta kan orsaka märkbara förseningar och i extrema fall kan din webbplats få timeout.

Virtuell minnesanvändning

Detta avser mängden minne som processer kan begära inom din LVE (Lightweight Virtual Environment).

När en process försöker tilldela minne kontrollerar CloudLinux om den totala virtuella minnesanvändningen håller sig inom den angivna gränsen. Om gränsen överskrids blockeras ny minnesallokering, vilket vanligtvis gör att processen misslyckas.

Fysisk minnesanvändning (RAM)

Fysiskt minne representerar det faktiska RAM-minnet som tilldelats ditt konto. Till skillnad från virtuellt minne (som ofta använder diskutrymme som växlingsfiler) hanterar fysiskt minne aktiva uppgifter i realtid. 

Till exempel kan publicering av ett stort inlägg tillfälligt använda allt tillgängligt fysiskt minne. Detta kan orsaka kortvariga förseningar, men användningen återgår vanligtvis till det normala när uppgiften är slutförd.

Om din fysiska minnesanvändning når sin gräns kan du stöta på PHP-fel på din webbplats. I sällsynta fall kan en CloudLinux-felsida visas. Dessa problem är vanligtvis kortvariga och löses automatiskt när användningen sjunker under tröskeln.

Entry processes

Entry processes representerar antalet samtidiga processer som går in på ditt konto. Varje PHP- eller CGI-skript som körs av en användare startar en entry process. Även om det ofta misstas för "antalet tillåtna besökare" körs processerna vanligtvis så snabbt att även med flera användare är det osannolikt att du når gränsen – om inte din webbplats får en plötslig trafikökning.

Antal processer

Denna mätare inkluderar alla processer som genereras av ditt konto, inte bara PHP, SSH eller cron-jobb. Det är en bredare gräns som speglar den totala aktiviteten.

Även vid hög belastning brukar detta antal vara lågt eftersom de flesta icke-PHP-processer är korta och avslutas snabbt.

I/O-användning (Input/Output)

I/O-användning mäter hur mycket diskaktivitet ditt konto genererar. Alla operationer som innebär läsning eller skrivning av data – såsom säkerhetskopior eller filuppladdningar – räknas mot denna gräns.

För att säkerställa rättvis prestanda för alla användare har varje konto en begränsad diskhastighet. Om du når denna gräns kommer dina processer fortfarande att köras, men långsammare.

I de flesta fall märker du inte I/O-användning om du inte utför diskintensiva uppgifter, som att skapa en stor säkerhetskopia av webbplatsen.


Definition av aktiva processer som körs på kontot

Om ditt webbhotellkonto når vissa resursgränser är det första steget att identifiera vilka processer som bidrar till överanvändningen.

Via SSH

Om problemet kvarstår i mer än några minuter kan du granska de aktiva processerna som körs på ditt konto vid tidpunkten för toppbelastningen via SSH:

  1. Se till att SSH är aktiverat för ditt webbhotellkonto genom att kontrollera anslutningsstatusen i cPanel-menyn “Hantera shell”. Om SSH är inaktiverat, följ stegen i denna artikel för att aktivera det.

  2. Navigera till menyn Terminal i din cPanel och kör ett av följande kommandon för att identifiera de aktiva processerna på ditt konto:

    - ps faux
    - top -c

    Du kommer då att se en lista över processer som använder mest av ditt webbhotellkontos resurser (CPU, virtuellt minne, etc.). Antalet uppgifter samt deras status (om de är aktiva, vilande eller stoppade) visas också i kommandots utdata.

    Vi vill visa dig hur utdata från kommandot “top -c” ser ut och ge instruktioner om hur du tolkar det korrekt:


    Här är en enkel guide till hur du läser denna typ av utdata:

    1. Första raden – anger aktuell tid, tid sedan senaste omstart, inloggade användarsessioner och genomsnittlig systembelastning (under senaste minuten, 5 och 15 minuter).

    2. Andra raden – listar alla processer inom ett webbhotellkonto: körande, vilande, stoppade och zombie (de som avslutats men inte tagits bort korrekt).

    3. Tredje raden – ger information om hur CPU används i %, där:

      • us = användarprocesser

      • sy = systemprocesser

      • ni = prioritetshöjning nice

      • wa = tid som väntar på I/O-slutförande

      • hi = maskinvaruavbrott

      • si = programvaruavbrott

      • st = tid som stulits från den virtuella maskinen av hypervisor-uppgiften

    4. Fjärde och femte raden – anger minnesanvändning (RAM): totalt, använt, ledigt och buffertar.

    5. Nästa rader ger detaljer om aktuella processer:

      • PID – process-ID

      • USER – cPanel-användaren som är processägare

      • PR – processens prioritet

      • NI – nice-värde för processen

      • VIRT – virtuellt minne som används av processen

      • RES – fysiskt minne som används av processen

      • SHR – delat minne som används av processen

      • S – status för processen (S – vilande, D – oavbrytbar vila, R – körande, T – stoppad, Z – zombie)

      • %CPU – procentandel av CPU som används av denna process

      • %MEM – procentandel av fysiskt minne som används av denna process

      • TIME+ – total CPU-tid som används av processen

      • COMMAND – processens namn


  3. Innan du avslutar några processer vid misstänkt intrång, granska befintliga cron-jobb i menyn Cron-jobb i ditt cPanel-konto. Om du hittar misstänkta poster eller cron-jobb du är osäker på är det bäst att ta bort dem för att förhindra att potentiellt farliga skript körs.

    När du har identifierat en specifik process som orsakar problem kan du avsluta den genom att köra kill -9 PID SSH-kommandot i menyn “Terminal”, där PID är process-ID från föregående steg.

    För att avsluta alla processer utom de nödvändiga systemprocesserna kan du använda följande kommando:

    ps aux | grep -v 'bin/bash' | awk '{ print $2 }' | grep -v PID | xargs kill -9

  4. Identifiera sedan vilka MySQL-processer som körs för närvarande.

    Du kan kontrollera alla MySQL-processer för ditt cPanel-konto (1) eller kontrollera dem per MySQL-användare (2).

    För att göra detta, öppna Terminal i din cPanel och kör ett av följande kommandon:

    För att kontrollera MySQL-processerna för hela webbhotellkontot:
    mysql -u $CPANEL_USER -p -e "SHOW PROCESSLIST;"

    För att kontrollera MySQL-processerna för en MySQL-användare:
    mysql -u $MYSQL_USER -p -e "SHOW PROCESSLIST;"

    Se till att ersätta “CPANEL_USER” med ditt cPanel-användarnamn för att kontrollera processerna för ett webbhotellkonto (1) och “$MYSQL_USER” med det specifika MySQL-databasanvändarnamnet för att kontrollera dem för varje enskild MySQL-användare (2).

    Ange sedan ett cPanel-kontolösenord (1) eller lösenordet för den specifika databasanvändaren (2):


  5. Det sista steget är att avsluta MySQL-processer för en viss databasanvändare. Detta kan endast utföras av vårt supportteam. Kontakta oss gärna så hjälper vi dig gärna.

Via menyn “Resursanvändning” 

Om problemet bara varar några sekunder kan det vara svårt att identifiera vilka processer som orsakar det, eftersom data inte loggas för så korta perioder. 

Men du kan alltid kontrollera menyn Resursanvändning i cPanel för att se historiska trender. Detta kan hjälpa dig att identifiera mönster eller avgöra vilka resurser som närmar sig sina gränser:


Ett meddelande om de resurser som ofta nås visas direkt efter att du öppnat menyn > under dess “Dashboard”-avsnitt med en referens till de exakta gränserna: 

Under avsnittet Aktuell användning i menyn, använd Tidsperiod rullgardinsmenyn för att välja en period och kontrollera hur kontots resurser användes under denna tid:


När du har valt ser du diagram och tabeller som visar detaljerad statistik:



Här är en enkel guide till värdena som listas i tabellen ovan:

  • CPU – CPU-gräns

  • vMEM/vM – gränser för virtuellt minne

  • pMEM/pM – gränser för fysiskt minne

  • EP – Entry Processes

  • nPROC/nP – Antal processer

  • IO – gränser för Input/Output

  • A – genomsnittligt använt

  • L – gräns satt för konto

  • F – fel

Potentiella problem vid avslut av aktiva processer i cPanel

Att stoppa aktiva processer i cPanel kan hjälpa till att åtgärda prestandaproblem, men var försiktig – det kan skapa nya problem. Nedan följer några viktiga områden att tänka på:

  • Dataintegritet: Att tvinga en process att avslutas kan äventyra dataintegriteten. Särskilt om processen innebär att data skrivs eller uppdateras i kontot. Det är bäst att kontrollera att processen inte är kopplad till kritiska databasoperationer innan du avslutar den.

  • Ofullständiga transaktioner: Att stoppa en process mitt i en operation kan lämna transaktioner ofärdiga och orsaka problem med databasens tillstånd. I extrema fall kan detta leda till datakorruption eller förlust.

  • Tjänsteavbrott: Vissa processer, såsom MySQL-relaterade processer, är mycket viktiga för kärntjänster. Att avsluta dem kan orsaka tillfälliga avbrott och påverka webbplatsens funktionalitet.

  • Osparade ändringar: Om en process som hanterar konfigurationer eller inställningar avslutas innan ändringarna sparas kan det påverka hur funktioner eller applikationer beter sig.

  • Resurstilldelning: Även om avslutande av processer kan frigöra systemresurser löser det inte de underliggande orsakerna till hög användning. För att förhindra att problemet återkommer krävs en djupare analys.

  • Applikationsstabilitet: Att avbryta processer som är kopplade till webbappar kan göra dem instabila. Det är viktigt att förstå hur processerna fungerar innan du agerar.

  • Loggning och övervakning: Vissa processer är involverade i loggning eller systemövervakning. Att avsluta dem kan avbryta dessa funktioner, så se till att kritiska loggar och övervakningsverktyg förblir aktiva.

    I kritiska situationer (t.ex. vid överanvändning av resurser eller misstänkt skadlig aktivitet) kan det vara nödvändigt att avsluta processer trots riskerna. Men väg alltid den potentiella påverkan innan du agerar.

Bästa praxis för att minska risken vid processavslut

  • Säkerhetskopiera dina data: Skapa alltid en säkerhetskopia innan du gör större ändringar, särskilt när du arbetar med databaser.

  • Använd kontrollerade avstängningar när det är möjligt: Försök att stänga av processer gradvis för att minska risken för dataförlust eller korruption.

  • Inaktivera skadliga komponenter: Om du misstänker att en specifik del av din webbplats (t.ex. ett plugin eller tema) genererar skadliga processer, inaktivera den omedelbart för att förhindra ytterligare skada. Om du är osäker, kontrollera misstänkt aktivitet med en specialist.

  • Använd underhållsläge: Att tillfälligt sätta din webbplats i underhållsläge kan hjälpa dig att avgöra om vissa processer återskapas automatiskt.

  • Övervaka noggrant: Efter att ha avslutat några processer, observera systemets beteende noggrant och var beredd att felsöka oväntade problem.

Hur du minskar resursanvändningen efter att ha identifierat den problematiska processen

När du har identifierat vilka processer som gör att ditt konto når resursgränser, prova dessa vanliga sätt att minska användningen:

  • Trafiktoppar: För att se när ditt konto hade för många aktiva processer, öppna menyn Resursanvändning > Snapshots > HTTP-förfrågningar:


    Om du ser i resultatet att det finns många förfrågningar, t.ex. till index.php-sidan, kan detta bero på hög trafik till webbplatsen (t.ex. av besökare eller bottar).

    Kontrollera Awstats och Besökare-menyerna i cPanel för detaljerad besöksanalys för att hitta den exakta orsaken. En plötslig ökning av trafiken kan vara orsaken till högre resursanvändning. Om antalet besökare stadigt ökar och du fortfarande upplever begränsningar kan det vara dags att se över och uppgradera ditt nuvarande webbhotellspaket.

    Avsnittet Statistik i menyn Awstats kan hjälpa dig att identifiera källan till den höga CPU-användningen. Du hittar detta genom att klicka på knappen ”Visa” mittemot domännamnet:


    OBS! Tänk på att data i Awstats-menyn inte uppdateras i realtid, och endast månatlig statistik är tillgänglig. Kontrollera när statistikdatan senast uppdaterades för att säkerställa att informationen är relevant för ditt fall. Du hittar denna information på raden ”Senaste uppdatering”.

    När du har öppnat den ser du detaljerad statistik över hur mycket bandbredd specifika delar av webbplatsen förbrukar, inklusive:

    • Okända bottar:  Om sådan trafik inte är förväntad kan bottarna blockeras via robots.txt-filen, begränsas (t.ex. för Googlebot), eller blockeras helt via .htaccess-filen och User-Agent-strängen.

      OBS!  Dessa ändringar kan påverka webbplatsens SEO. Om du är osäker på om du vill fortsätta är det bättre att rådfråga en SEO-specialist.

    • Bilder: Om det finns många förfrågningar till en bild kan det betyda att det pågår en DDoS- eller själv-DoS-attack mot denna bild.

    • Sidor:  En webbsida eller en produkt på den kan också påverkas av en DDoS-attack.

    • filer.

    • Nedladdade filer, etc.

  • Senaste ändringar på webbplatsen: Om detta är första gången du stöter på resursanvändningsproblem, granska eventuella senaste uppdateringar eller ändringar på din webbplats. Dessa kan bidra till den ökade belastningen.

  • Nya plugins eller teman: Om du nyligen har installerat ett nytt plugin eller tema, prova att inaktivera det och övervaka webbplatsens prestanda i minst 10 minuter.

    Du kan också hitta långsamma plugins i GTmetrix-rapporten > fliken Waterfall.

    OBS: Ändringar kan ta tid innan de träder i kraft. Vi rekommenderar att du övervakar webbplatsens beteende i upp till en timme för att få korrekta resultat.

  • Webbplatsoptimering: Optimera din webbplats prestanda med verktyg som Google PageSpeed Insights.

    Dessutom hjälper följande plugins dig att övervaka resursanvändningen och den övergripande prestandan på webbplatsen – vilket är mycket användbart när du letar efter interna flaskhalsar:

Om du fortfarande har resursproblem, vänligen kontakta vårt Supportteam via Live Chat eller e-post. Vi finns här för att hjälpa dig att identifiera och lösa eventuella problem.

En giltig e-postadress krävs