Linux server reageert niet, hoe process killen?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Red devil
  • Registratie: December 1999
  • Laatst online: 18:25
Beste tweakers,

Op een server @ work (draait CentOS) werken ongeveer 5 collegas. Tis een redelijke zware bak (8 core Xeon met 32 gig). Zo nu en dan wil het wel eens gebeuren dat een process zoveel resources vreet dat je geeneens meer als root de boel kunt killen. Je krijgt dan met moeite een top te zien, maar vervolgens een su naar root om de boel te killen wil vaak niet meer. Als het wel lukt draaien de andere processen netjes verder, das dan wel weer mooi.

We zoeken dus een manier om altijd een responsive bak te hebben om iets te killen. Bestaat er een dergelijke service? Idealiter zou je er altijd met telnet of SSH heen kunnen om vervolgens het vervelende proces te killen.

Acties:
  • 0 Henk 'm!

  • michelzwarts
  • Registratie: Juni 2005
  • Laatst online: 19-10-2024
Raar verhaal, is het niet beter om eerst eens te analyseren om welk proces het gaat, en waarom die zoveel resources vreet. Daarnaast zou je kunnen overwegen om de priority van dat proces te verlagen, in plaats van te killen.

Windows Veteran turned Apple Addict


Acties:
  • 0 Henk 'm!

  • CherandarGuard
  • Registratie: Oktober 2001
  • Laatst online: 14-10-2024
Ik kan me ook zo voorstellen dat je dit misschien zou kunnen automatiseren, dat scheelt ook weer actie van jullie kant.
Ik heb er helaas niet genoeg ervaring mee om je daar mee te kunnen helpen.

Acties:
  • 0 Henk 'm!

  • Red devil
  • Registratie: December 1999
  • Laatst online: 18:25
michelzwarts schreef op woensdag 21 april 2010 @ 10:28:
Raar verhaal, is het niet beter om eerst eens te analyseren om welk proces het gaat, en waarom die zoveel resources vreet. Daarnaast zou je kunnen overwegen om de priority van dat proces te verlagen, in plaats van te killen.
Dat is idd het eerste wat we proberen uit te vinden. Alleen kan het voorkomen dat iemand iets nieuws probeert wat ineens meer resources eet als gewenst. Het is vrij veel experimenteel spul wat we draaien.

Acties:
  • 0 Henk 'm!

  • Osiris
  • Registratie: Januari 2000
  • Niet online
CherandarGuard schreef op woensdag 21 april 2010 @ 10:28:
Ik kan me ook zo voorstellen dat je dit misschien zou kunnen automatiseren, dat scheelt ook weer actie van jullie kant.
Je zou een scriptje kunnen maken die de "TIME+"-variabele van elk proces in de gaten houdt en vervolgens kan detecteren of een process *te lang* *te veel* CPU-tijd inneemt. Dus als binnen een minuut er bijna 59 seconden aan tijd bij komt, dan weet je dat het process bijna 100% CPU aan het vreten is op dat moment.

Al weet ik niet wat de reden is waarom die bak unresponsive wordt, aangezien je zelfs met 100% CPU-vretende processen er vaak nog wel bij kunt komen?

Acties:
  • 0 Henk 'm!

Verwijderd

Met renice kun je eenvoudig processen en of gebruikers prioriteiten toekennen.
Als dit onvoldoende helpt zou ik de belangrijke services en test services opdelen in VM's met bijv Xen.

Acties:
  • 0 Henk 'm!

  • michelzwarts
  • Registratie: Juni 2005
  • Laatst online: 19-10-2024
Is de root login enabled of niet? Als dat niet het geval is kun je overwegen een user toe te voegen aan de sudoers zonder wachtwoord. Remote kun je dan een login doen en direct een commando issuen die je opschoonactie uitvoert.

ssh sudouser@servernaam "sudo <commando>"
<commando> kan dan gewoon een shell script zijn waarin bepaald wordt welk proces je wilt killen.

Gebruik hiervoor bijvoorbeeld:
ps -ef | grep processname
top (eventueel met cut om het pid op te halen
kill, en als die niet slaagt binnen een minuut, een kill -9

Windows Veteran turned Apple Addict


Acties:
  • 0 Henk 'm!

  • eghie
  • Registratie: Februari 2002
  • Niet online

eghie

Spoken words!

Kijk eens naar ps-watcher (http://www.linux.com/archive/feature/148189 en http://ps-watcher.sourceforge.net/ps-watcher.html) of naar monit (http://mmonit.com/monit/).

En kijk ook eens naar hoe je ulimit en /etc/security/limits.conf kunt gebruiken.

[ Voor 34% gewijzigd door eghie op 21-04-2010 11:00 ]


Acties:
  • 0 Henk 'm!

  • Red devil
  • Registratie: December 1999
  • Laatst online: 18:25
Osiris schreef op woensdag 21 april 2010 @ 10:35:
[...]

Je zou een scriptje kunnen maken die de "TIME+"-variabele van elk proces in de gaten houdt en vervolgens kan detecteren of een process *te lang* *te veel* CPU-tijd inneemt. Dus als binnen een minuut er bijna 59 seconden aan tijd bij komt, dan weet je dat het process bijna 100% CPU aan het vreten is op dat moment.
Maar soms draaien we ook analyses die wel moeten blijven draaien. Hoe maakt zo'n script daar onderscheid tussen? Kan dat uberhaupt?
Osiris schreef op woensdag 21 april 2010 @ 10:35:
[...]

Al weet ik niet wat de reden is waarom die bak unresponsive wordt, aangezien je zelfs met 100% CPU-vretende processen er vaak nog wel bij kunt komen?
Don't ask me, geheugen speelt kennelijk ook mee want vandaag was het weer raak en 32 gig zat propvol alsmede de SWAP.

[edit]

Ik zie al wat nuttige bijdragen, even kijken!

[ Voor 3% gewijzigd door Red devil op 21-04-2010 11:04 ]


Acties:
  • 0 Henk 'm!

  • Snow_King
  • Registratie: April 2001
  • Nu online

Snow_King

Konijn is stoer!

Staat het proces wat je wil doden toevallig in status "D"? Zo ja, dan kan je die niet killen :)
Pagina: 1