Als een Linux-proces te veel CPU-kracht verbruikt, is de eerste reactie niet altijd: dodenAls de service daadwerkelijk werkt, kan het abrupt uitschakelen ervan ertoe leiden dat een taak mislukt, een back-up beschadigd raakt of een lopend proces wordt onderbroken. In dit geval, Leuk En Rene Hiermee kun je de prioriteit verlagen zonder het proces te stoppen.
Let op: deze commando’s verminderen de belasting niet op magische wijze. Ze wijzigen de CPU-prioriteit die de Linux-scheduler ziet. Dit is handig om de server wat ademruimte te geven, maar als een applicatie vastloopt of een database blokkeert, moet u nog steeds de logbestanden lezen om de oorzaak te achterhalen.

Begrijp de nice-waarde voordat je een proces wijzigt.
Onder Linux de waarde Leuk gaat doorgaans van min twintig heeft negentienHoe lager de waarde, hoe hoger de prioriteit van het proces. Hoe hoger de prioriteit, hoe meer ruimte er overblijft voor andere taken.
min twintig: zeer hoge prioriteit, te reserveren voor gecontroleerde gevallen;nul: standaardprioriteit van veel processen;tienOfvijftien: lagere prioriteit, praktisch voor een langdurige, niet-urgente taak;negentien: zeer lage prioriteit.
Een doorsnee gebruiker kan doorgaans de prioriteit van zijn eigen processen verlagen. Het verhogen van de prioriteit van een proces vereist root-rechten. Dit is opzettelijk: het instellen van een te hoge prioriteit op een gedeelde server kan de rest van het systeem verstoren.
Voer een opdracht uit met een lagere prioriteit.
De bestelling Leuk Het wordt gebruikt bij het opstarten van een programma. Simpel voorbeeld:
nice -n 10 commando
Bij sterke compressie kan dit het volgende tot gevolg hebben:
nice -n 10 tar -czf backup.tar.gz /srv/data
De taak draait continu, maar voorkomt dat andere processen te agressief worden overgenomen. Ik gebruik hem voornamelijk voor achtergrondprocessen: compressie, conversie, scannen, aangepaste scripts of langdurige bewerkingen die niet binnen een minuut hoeven te zijn afgerond.
Als je de opdracht uitvoert via een cron-script of een SSH-terminal, houd dan nog steeds de belasting in de gaten. Een lagere prioriteit is geen vervanging voor minimale monitoring.
Bekijk de huidige prioriteit met ps, top of htop
Voordat je iets verandert, moet je het betrokken proces in kaart brengen. Een output p.s. Gerichte actie is vaak voldoende:
ps -eo pid,ni,pri,pcpu,pmem,comm --sort=-pcpu | head
De kolom GEEN VAN BEIDE geeft de waarde “mooi” weer. De kolom PRI Geeft een prioriteit die door de kernel wordt berekend. Voor een snelle live-weergave kunt u ook openen:
bovenkant
Of gebruik htop om de serverbelasting te lezenIn htop voorkomt sorteren op CPU en vervolgens controleren van de PID al dat de gebruiker veel verkeerde beslissingen neemt.
Een proces wijzigen dat al is gestart met renice.
Als het proces al actief is, Leuk is niet langer voldoende. We moeten gebruiken ReneHaal eerst de PID op en verlaag vervolgens de prioriteit:
renice +10 -p 1234
Hier, duizendtweehonderdvierendertig moet worden vervangen door de daadwerkelijke PID. Bij een proces dat toebehoort aan een andere gebruiker, of als u de prioriteit ervan wilt verhogen, ga dan als volgt te werk: sudo :
sudo renice -5 -p 1234
Ik raad af om zonder specifieke reden negatieve waarden in te stellen. Op een productieserver is dit zelden de beste eerste reactie. Het verlagen van de prioriteit van een resource-intensief proces is vaak beter dan onnodig CPU-gebruik toe te kennen aan een slecht gediagnosticeerde service.
Controleer of de wijziging is doorgevoerd.
Na een Rene GEEN VAN BEIDE :
ps -o pid,ni,pri,pcpu,pmem,comm -p 1234
Je kunt ook naar de totale belasting kijken:
uptime
Als de server traag blijft, trek dan niet te snel de conclusie dat… Rene werkt niet. De oorzaak kan de schijf, het geheugen, een applicatievergrendeling of een service zijn die in een oneindige lus opnieuw opstart. Controleer in dat geval de logbestanden met journaalctl en applicatielogboeken met staart.
Wanneer aardig zijn niet genoeg is
Leuk En Rene Deze maatregelen beïnvloeden de CPU-prioriteit. Ze beperken het geheugen niet, verhelpen geen onregelmatige SQL-query’s en vervangen geen echte resourcebeperking. Als u een service op de juiste manier wilt beperken, kunt u beter kijken naar systemd, cgroups of de applicatieconfiguratie.
Als het proces duidelijk geblokkeerd of gevaarlijk is, moet het mogelijk worden gestopt. Gebruik in dat geval de juiste methode: identificeer de service, lees de logbestanden, probeer een normale afsluiting en gebruik pas daarna [de juiste methode]. doden zonder het schadelijke proces te stoppen.
De handleidingpagina’s van Leuk, Rene En p.s. Ze beschrijven de beschikbare opties. Houd in de praktijk vooral deze regel in gedachten: verlaag de prioriteit van een langlopende taak als deze de server hindert, maar gebruik dit niet om een echt probleem met de serverbelasting te maskeren.