CPU je na 100 %
Ako nájsť proces, ktorý zožiera jadrá CPU, odlíšiť skutočnú záťaž od čakania na disk a rozhodnúť sa, či opraviť kód alebo prejsť na vyšší tier.
Aktualizované 23. augusta 2026
Plošina na grafe CPU v karte „Prehľad“ sama o sebe nie je núdzový stav: zostavenie projektu alebo vytvorenie archívu poctivo využije všetky jadrá a potom ich uvoľní. Alarmujúce je, keď plošina trvá hodiny a stroj prestane reagovať. Poďme zistiť, čo za to môže.
Krok 1. Pozri sa, čo spotrebúva prostriedky
Karta „Obrazovka“ (VNC) je vhodná na prácu s celoobrazovkovými programami:
btop
htop
Sériová konzola neprenáša veľkosť okna; vždy je tam 80×24, takže rozhranie bude odrezané. Pre textovú konzolu použi štandardné príkazy:
top -b -n1 | head -20
ps aux --sort=-%cpu | head -10
Pamätaj si počty: %CPU sa počíta na jadro. 400 % na VDS-3 znamená všetky štyri jadrá, kým 100 % na VDS-4 je len jedno zo šiestich.
Krok 2. Odlíš CPU od disku
Priemerné zaťaženie (load average) rastie aj z čakania na I/O, nielen z výpočtov:
uptime
vmstat 1 5
Vo výstupe vmstat sleduj stĺpce us (kód používateľa), sy (jadro), wa (čakanie na disk) a st (ukradnutý čas). Veľké wa znamená, že CPU je nečinné a čaká na disk — úzkym miestom je rýchlosť zápisu, nie výpočet. Disková plošina na našich tarifách je daná pravidlom: zápis 60 MB/s na jadro, nie menej ako 60 a nie viac ako 400 MB/s, čítanie je dvakrát vyššie a burst trojnásobne nad plošinou trvá 30 sekúnd. Ak úloha zapisuje nepretržite, burst sa skončí a narazíš na plošinu.
Krok 3. Preskúmaj konkrétny proces
pidstat -p <pid> 1 5
cat /proc/<pid>/status
journalctl -u <service> -n 100 --no-pager
Časté nálezy:
- webová aplikácia sa točí v nekonečnej slučke po neúspešnej požiadavke;
- databáza spúšťa dotaz bez indexu — pozri jej vlastný log pomalých dotazov;
- cron úloha sa spúšťa častejšie, než stíha dokončiť, a inštancie sa hromadia:
ps aux | grep <name>ukáže tucet kópií; - miner, ktorý sa dostal na stroj cez slabé root heslo. Znakom je proces s nezmyselným názvom bežiaci pod neštandardným používateľom a vysoká odchádzajúca prevádzka. V takom prípade je jednoduchšie preinštalovať stroj z karty „Prístup“ než ho čistiť.
Krok 4. Obmedz, nezabíjaj
Ak je proces potrebný, ale nemal by prekážať ostatným:
renice -n 15 -p <pid>
systemctl set-property myapp.service CPUQuota=200%
CPUQuota=200% sú dve plné jadrá. Limit systemd prežije reštart služby; renice nie.
Pred zabitím procesu pomocou
kill -9skús obyčajnýsystemctl stop. Násilné zabitie databázy ťa stojí poškodené súbory a dlhé obnovovanie pri ďalšom štarte.
Keď to nie je kód
Ak je zaťaženie legitímne a stále, CPU Ryzen 9 7950X robí svoju prácu — na úlohu jednoducho nie je dosť jadier. Tarifu možno zmeniť len nahor, s doplatkom za zostávajúce dni zaplateného obdobia: pozri článok Zvýšenie tarify a doplatenie rozdielu. Zníženie späť nie je dostupné, preto sa najprv z týždenného a mesačného grafu uisti, že plošina nie je jednorazový výskyt.