Jak řešit problémy s nadměrným využíváním prostředků

Všechny webhostingové účty mají limity zdrojů vynucené technologií CloudLinux LVE (Lightweight Virtual Environment), což je technologie na úrovni jádra zabudovaná do serveru. Limity zajišťují, že všechny webové stránky mají spravedlivý a rovný přístup ke svému přidělenému podílu zdrojů. 

Mezi tyto zdroje patří CPU, fyzická paměť, vstupní procesy a počet aktivních procesů. Přijatelné hodnoty těchto zdrojů i jejich měkké a tvrdé burst hodnoty najdete v našem Pravidla přijatelného užívání

Pokud váš účet opakovaně dosahuje těchto limitů, nazýváme to nadměrné využívání zdrojů. To může vést ke zpomalení webu, chybovým hlášením nebo vypršení časového limitu na stránkách hostovaných na vašem účtu. 

POZNÁMKA: Pokud jeden doména na vašem hostingovém účtu překročí limit zdrojů, budou ovlivněny i všechny ostatní domény hostované pod stejným účtem, protože sdílejí stejný fond zdrojů.

Tento článek vám pomůže identifikovat a vyřešit nadměrné využívání zdrojů.

Kontrola aktuálního využití zdrojů 

Chcete-li zkontrolovat využití zdrojů svého hostingového účtu v cPanelu, podívejte se na sekci Statistiky zobrazenou vpravo:

POZNÁMKA: O limitech zdrojů hostingového účtu budete také dostávat oznámení ve svém účtu Spaceship. Pro úplnější informace však prosím nahlédněte do nabídky "Využití hostingu" ve svém cPanel účtu.

A porušení našich Pravidel přijatelného užívání budou uvedena v nabídce „Hosting Manager“ > klikněte na „Spravovat“ vedle příslušného hostingového balíčku > sekce Využití hostingu > podsekce Protokol hlášení.  

Pojďme si rozebrat klíčové metriky zdrojů a jak ovlivňují výkon vašeho webu:

Využití CPU

Využití CPU ukazuje, kolik přiděleného výkonu CPU je v daném okamžiku využito. Je zobrazováno jako procento z celkové kapacity vašeho hostingového účtu.

Pokud využití CPU dosáhne 100 %, váš účet využívá všechny přidělené zdroje. Výsledkem je, že nové procesy budou zpožděny (uspány), dokud se nedokončí ty stávající. To může způsobit znatelné zpomalení a v extrémních případech může váš web vypršet časový limit.

Využití virtuální paměti

To se týká množství paměti, které mohou procesy požadovat ve vašem LVE (Lightweight Virtual Environment).

Když se proces pokusí alokovat paměť, CloudLinux zkontroluje, zda celkové využití virtuální paměti zůstává v nastaveném limitu. Pokud je limit překročen, nová alokace paměti je zablokována, což obvykle způsobí selhání procesu.

Využití fyzické paměti (RAM)

Fyzická paměť představuje skutečnou RAM přidělenou vašemu účtu. Na rozdíl od virtuální paměti (která často využívá diskové úložiště jako swap soubory) fyzická paměť zpracovává aktivní úlohy v reálném čase. 

Například publikování velkého příspěvku může dočasně spotřebovat veškerou dostupnou fyzickou paměť. To může způsobit krátkodobé zpomalení, ale po dokončení úlohy se využití obvykle vrátí do normálu.

Pokud využití fyzické paměti dosáhne svého limitu, můžete na svém webu narazit na chyby PHP. Ve vzácných případech se může zobrazit chybová stránka CloudLinux. Tyto problémy jsou obvykle krátkodobé a automaticky se vyřeší, když využití klesne pod práh.

Vstupní procesy

Vstupní procesy představují počet současně probíhajících procesů vstupujících do vašeho účtu. Každý PHP nebo CGI skript spuštěný uživatelem zahajuje vstupní proces. Často je to mylně považováno za "počet povolených návštěvníků", ale procesy obvykle běží a dokončují se tak rychle, že i při více uživatelích pravděpodobně limit nedosáhnete – pokud váš web nezažije náhlý nárůst návštěvnosti.

Počet procesů

Tato metrika zahrnuje všechny procesy generované vaším účtem, nejen PHP, SSH nebo cron úlohy. Jde o širší limit, který odráží celkovou aktivitu.

I při vysokém zatížení toto číslo obvykle zůstává nízké, protože většina ne-PHP procesů je krátká a rychle skončí.

Využití I/O (vstup/výstup)

Využití I/O měří, kolik diskové aktivity váš účet generuje. Jakákoli operace zahrnující čtení nebo zápis dat – například zálohování nebo nahrávání souborů – se započítává do tohoto limitu.

Aby byl zajištěn spravedlivý výkon pro všechny uživatele, má každý účet omezenou rychlost disku. Pokud dosáhnete tohoto limitu, vaše procesy budou stále běžet, jen pomaleji.

Ve většině případů si využití I/O nevšimnete, pokud neprovádíte úlohy náročné na disk, například generování velké zálohy webu.


Definice aktivních procesů běžících na účtu

Pokud váš hostingový účet dosáhne určitých limitů zdrojů, prvním krokem je zjistit, které procesy k nadměrnému využití přispívají.

Přes SSH

Pokud problém přetrvává déle než několik minut, můžete si pomocí SSH zobrazit aktivní procesy běžící ve vašem účtu v době špičky:

  1. Ujistěte se, že je SSH pro váš hostingový účet povoleno, zkontrolujte stav připojení v nabídce „Spravovat shell“ v cPanelu. Pokud je SSH zakázáno, postupujte podle kroků v tomto článku pro jeho aktivaci.

  2. Přejděte do nabídky Terminál ve svém cPanelu a spusťte jeden z následujících příkazů pro identifikaci aktivních procesů ve vašem účtu:

    - ps faux
    - top -c

    Poté uvidíte seznam procesů, které využívají nejvíce zdrojů vašeho hostingového účtu (CPU, virtuální paměť atd.). V příkazu se také zobrazí počet úloh a jejich stavy (zda jsou aktivní, uspány nebo zastaveny).

    Rádi bychom vám ukázali, jak vypadá výstup příkazu „top -c“ a poskytli návod, jak jej správně pochopit:


    Zde je jednoduchý návod, jak číst tento typ výstupu:

    1. První řádek – uvádí aktuální čas, dobu od posledního spuštění, přihlášené uživatelské relace a průměrné zatížení systému (za poslední minutu, 5 a 15 minut).

    2. Druhý řádek – vypisuje všechny procesy v rámci hostingového účtu: běžící, uspány, zastavené a zombie (ty, které byly ukončeny, ale nebyly správně odstraněny).

    3. Třetí řádek – poskytuje informace o využití CPU v %, kde:

      • us = uživatelské procesy

      • sy = systémové procesy

      • ni = zvýšení priority nice

      • wa = čas čekání na dokončení I/O

      • hi = hardwarové přerušení

      • si = softwarové přerušení

      • st = čas odebraný virtuálnímu stroji úkolem hypervizoru

    4. Čtvrtý a pátý řádek – ukazují využití paměti (RAM): celkem, použito, volné a buffery.

    5. Další řádky poskytují podrobnosti o aktuálních procesech:

      • PID – ID procesu

      • USER – cPanel uživatel, který je vlastníkem procesu

      • PR – priorita procesu

      • NI – nice hodnota procesu

      • VIRT – virtuální paměť použitá procesem

      • RES – fyzická paměť použitá procesem

      • SHR – sdílená paměť použitá procesem

      • S – stav procesu (S – spící, D – nepřerušitelný spánek, R – běžící, T – zastavený, Z – zombie)

      • %CPU – procento CPU využité tímto procesem

      • %MEM – procento fyzické paměti využité tímto procesem

      • TIME+ – celkový čas CPU využitý procesem

      • COMMAND – název procesu


  3. Před ukončením jakýchkoli procesů při podezření na hack zkontrolujte existující cron úlohy v nabídce Cron úlohy ve svém cPanel účtu. Pokud najdete podezřelé položky nebo cron úlohy, u kterých si nejste jisti, je nejlepší je odstranit, abyste zabránili spuštění potenciálně nebezpečných skriptů.

    Jakmile identifikujete konkrétní proces, který způsobuje problémy, můžete jej ukončit spuštěním příkazu kill -9 PID SSH v nabídce „Terminál“, kde PID je ID procesu z předchozího kroku.

    Chcete-li ukončit všechny procesy kromě nezbytných systémových, můžete použít následující příkaz:

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

  4. Dále zjistěte, které MySQL procesy právě běží.

    Můžete zkontrolovat všechny MySQL procesy pro svůj cPanel účet (1) nebo je zkontrolovat podle MySQL uživatele (2).

    Chcete-li to provést, otevřete Terminál ve svém cPanelu a spusťte jeden z následujících příkazů:

    Pro kontrolu MySQL procesů pro celý hostingový účet:
    mysql -u $CPANEL_USER -p -e "SHOW PROCESSLIST;"

    Pro kontrolu MySQL procesů pro MySQL uživatele:
    mysql -u $MYSQL_USER -p -e "SHOW PROCESSLIST;"

    Nezapomeňte nahradit „CPANEL_USER“ svým uživatelským jménem cPanelu pro kontrolu procesů účtu (1) a „$MYSQL_USER“ konkrétním uživatelským jménem MySQL databáze pro kontrolu procesů každého jednotlivého MySQL uživatele (2).

    Poté zadejte heslo k účtu cPanel (1) nebo heslo ke konkrétnímu uživateli databáze (2):


  5. Posledním krokem je ukončení MySQL procesů pro konkrétního uživatele databáze. To může provést pouze náš tým podpory. Neváhejte nás kontaktovat a rádi vám pomůžeme.

Přes nabídku „Využití zdrojů“ 

Pokud problém trvá pouze několik sekund, může být obtížné identifikovat procesy, které jej způsobují, protože data se pro tak krátké období neukládají. 

Vždy však můžete zkontrolovat nabídku Využití zdrojů v cPanelu a podívat se na historické trendy. To vám může pomoci identifikovat vzorce nebo zjistit, které zdroje se blíží svým limitům:


Po otevření nabídky se zobrazí zpráva o často dosažených zdrojích > v sekci „Dashboard“ s odkazem na konkrétní limity: 

V sekci nabídky Aktuální využití použijte rozbalovací nabídku Časové období a zkontrolujte, jak byly v tomto období využívány zdroje účtu:


Po výběru uvidíte diagramy a tabulky s podrobnými statistikami:



Zde je jednoduchý průvodce hodnotami uvedenými v tabulce výše:

  • CPU – limit CPU

  • vMEM/vM – limity virtuální paměti

  • pMEM/pM – limity fyzické paměti

  • EP – vstupní procesy

  • nPROC/nP – počet procesů

  • IO – limity vstupů/výstupů

  • A – průměrně využito

  • L – limit nastavený pro účet

  • F – selhání

Možné problémy při ukončování aktivních procesů v cPanelu

Zastavení aktivních procesů v cPanelu může pomoci řešit problémy s výkonem, ale buďte opatrní – může to vytvořit nové problémy. Níže uvádíme několik klíčových oblastí, na které je třeba myslet:

  • Integrita dat: Násilné ukončení procesu může ohrozit integritu dat. Zejména pokud tento proces zahrnuje zápis nebo aktualizaci dat v účtu. Nejlepší je ověřit, že proces není spojen s kritickými databázovými operacemi, než jej ukončíte.

  • Nedokončené transakce: Zastavení procesu uprostřed operace může zanechat transakce nedokončené a způsobit problémy se stavem databáze. V extrémních případech to může vést k poškození nebo ztrátě dat.

  • Přerušení služeb: Některé procesy, například procesy související s MySQL, jsou velmi důležité pro základní služby. Jejich ukončení může způsobit dočasné výpadky služeb a ovlivnit funkčnost vašeho webu.

  • Neuložené změny: Pokud je proces spravující konfigurace nebo nastavení ukončen před uložením změn, může to ovlivnit chování funkcí nebo aplikací.

  • Přidělování zdrojů: I když ukončení procesů může uvolnit systémové zdroje, neřeší to základní příčiny vysokého využití. Aby se problém neopakoval, je třeba hlubší analýza.

  • Stabilita aplikací: Přerušení procesů spojených s webovými aplikacemi je může učinit nestabilními. Je důležité pochopit, jak procesy fungují, než podniknete kroky.

  • Protokolování a monitoring: Některé procesy se podílejí na protokolování nebo monitorování systému. Jejich ukončení může tyto funkce přerušit, proto se ujistěte, že důležité protokoly a monitorovací nástroje zůstanou funkční.

    V kritických situacích (např. při nadměrném využití zdrojů nebo podezření na škodlivou aktivitu) může být ukončení procesů nutné i přes rizika. Vždy však zvažte možný dopad před provedením akce.

Nejlepší postupy pro snížení rizika ukončení procesů

  • Zálohujte svá data: Před provedením zásadních změn vždy vytvořte zálohu, zejména při práci s databázemi.

  • Používejte řízené vypínání, pokud je to možné: Snažte se procesy vypínat postupně, abyste snížili riziko ztráty nebo poškození dat.

  • Deaktivujte škodlivé komponenty: Pokud máte podezření, že konkrétní část vašeho webu (například plugin nebo šablona) generuje škodlivé procesy, ihned ji deaktivujte, abyste zabránili dalším škodám. Pokud si nejste jisti, ověřte jakoukoli podezřelou aktivitu u specialisty.

  • Použijte režim údržby: Dočasné nastavení webu do režimu údržby vám může pomoci zjistit, zda se některé procesy automaticky znovu nevytvářejí.

  • Pečlivě sledujte: Po ukončení jakýchkoli procesů pečlivě sledujte chování systému a buďte připraveni řešit neočekávané problémy.

Jak snížit využití zdrojů po identifikaci problematického procesu

Jakmile zjistíte, které procesy způsobují, že váš účet naráží na limity zdrojů, vyzkoušejte tyto běžné způsoby, jak snížit jejich využití:

  • Nárůsty provozu: Chcete-li zjistit, kdy měl váš účet příliš mnoho aktivních procesů, otevřete nabídku Využití zdrojů > Snímky > záložka HTTP dotazy:


    Pokud ve výstupu vidíte, že je mnoho požadavků, například na stránku index.php, může to být způsobeno vysokou návštěvností webu (například návštěvníky nebo roboty).

    Zkontrolujte nabídky Awstats a Návštěvníci v cPanelu pro podrobné analytiky návštěvnosti a zjistěte přesný důvod. Náhlý nárůst provozu může být příčinou vyššího využití zdrojů. Pokud počet vašich návštěvníků stabilně roste a stále narážíte na omezení, může být čas zvážit revizi a upgrade vašeho aktuálního hostingového plánu.

    Sekce Statistiky v nabídce Awstats vám může pomoci identifikovat zdroj vysokého využití CPU. Najdete ji kliknutím na tlačítko „Zobrazit“ naproti názvu domény:


    POZNÁMKA: Mějte na paměti, že data v nabídce Awstats nejsou aktualizována v reálném čase a jsou k dispozici pouze měsíční statistiky. Nezapomeňte zkontrolovat, kdy byla data statistik aktualizována, abyste se ujistili, že informace souvisejí s vaším případem. Tyto informace najdete v řádku „Poslední aktualizace“.

    Po otevření uvidíte podrobné statistiky o tom, kolik šířky pásma spotřebovávají jednotlivé prvky webu, včetně:

    • Neznámí roboti:  Pokud takový provoz neočekáváte, lze roboty blokovat pomocí souboru robots.txt, omezit jejich rychlost (například pro Googlebot), nebo je zcela zablokovat pomocí souboru .htaccess a User-Agent řetězce.

      POZNÁMKA:  Tyto změny mohou ovlivnit SEO webu. Pokud si nejste jisti, zda chcete pokračovat, je lepší poradit se se SEO specialistou.

    • Obrázky: Pokud je na jeden obrázek mnoho požadavků, může to znamenat DDoS nebo self-DoS útok na tento obrázek.

    • Stránky:  Webová stránka nebo produkt na ní může být také ovlivněn DDoS útokem.

    • soubory.

    • Stažené soubory atd.

  • Nedávné změny na webu: Pokud se s problémy s využitím zdrojů setkáváte poprvé, zkontrolujte jakékoli nedávné aktualizace nebo změny na svém webu. Ty mohou přispívat ke zvýšené zátěži.

  • Nové pluginy nebo šablony: Pokud jste nedávno nainstalovali nový plugin nebo šablonu, zkuste jej deaktivovat a sledujte výkon svého webu alespoň 10 minut.

    Pomalu načítající se pluginy najdete také ve zprávě GTmetrix > na kartě Waterfall.

    POZNÁMKA: Změny se nemusí projevit okamžitě. Doporučujeme sledovat chování vašeho webu až hodinu pro přesné výsledky.

  • Optimalizace webu: Optimalizujte výkon svého webu pomocí nástrojů jako Google PageSpeed Insights.

    Dále vám následující pluginy pomohou sledovat využití zdrojů a celkový výkon webu – což je velmi užitečné při hledání interních úzkých míst webu:

Pokud stále narážíte na problémy se zdroji, kontaktujte náš tým podpory přes Live Chat nebo e-mail. Jsme tu, abychom vám pomohli identifikovat a vyřešit jakékoli problémy.

Je vyžadována platná e-mailová adresa