2016-06-12 5 views
2

Ich bin auf einem PBS-Server arbeiten und wenn ich schreibe qstat -u Benutzername -t Ich erhalte die folgende Ausgabe:entfernen verlassen Auftrag aus qstat Liste

                  Req'd Req'd Elap 
Job ID    Username Queue Jobname   SessID NDS TSK Memory Time S Time 
-------------------- -------- -------- ---------------- ------ ----- --- ------ ----- - ----- 
13631484[2648].p  username long  pre_scan_pdf-264 6824  1 -- 4gb 167:5 R 46:20 
13631484[2662].p  username long  pre_scan_pdf-266 28333  1 -- 4gb 167:5 R 76:10 
13631506[3732].p  username short ew_scan-3732  13625 -- -- 4gb 01:29 E 00:14 

Also mein Problem ist, dass, wie Sie sehen können, Es gibt einen Job, der verlassen hat.

Ich möchte diesen Job aus der Liste entfernen, weil ich ein Skript ausgeführt habe, das überprüft, ob der Ausdruck "short" in der Qstat -u-Benutzername -t-Ausgabe auftritt. Wenn dies geschieht, werden keine Jobs gesendet.

Daher versuchte ich etwas wie qdel 13631506 [], um den beendeten Job aus der Liste zu entfernen, aber das hat nicht funktioniert.

+0

Ist das nicht der Parameter "keep_completed" der Warteschlangenkonfiguration? Könnten Sie bitte überprüfen, ob der Wert größer als 0 ist? 'qmgr -c" Druckwarteschlange kurz keep_completed "' –

+0

Ich habe Ihren Befehl ausgeführt. Die Ausgabe ist nur # # Erstellen Sie Warteschlangen und legen Sie ihre Attribute fest. # # # Erstellen und definieren Sie die Warteschlange kurz # create queue short –

+0

'keep_completed' gilt nicht für das Beenden von Jobs. Siehe meine Antwort unten für Ideen. In welcher Version bist du? – clusterdude

Antwort

3

Es gibt einige bekannte Bugs, bei denen Jobs manchmal im Status "Beenden" stecken bleiben. Sie könnten also auf eines davon stoßen, aber vielleicht dauert der Epilog einfach länger, als Sie gerne beenden würden. Sie können $prologalarm (in TORQUE_HOME/mom_priv/config auf den Rechenknoten) setzen, um zu begrenzen, wie lange pbs_mom wartet, bevor Jobprozesse beendet werden, die in der Prolog- oder Epilog-Skriptphase stecken geblieben sind. Sie möchten jedoch zuerst die Jobprozesse auf dem Knoten überprüfen. zu beheben und zu sehen, ob Sie herausfinden können, was dort falsch läuft. (Im Gespräch mit Dmitri Chubarovs Kommentar gilt nur für abgeschlossene Jobs, nicht ausgehende.)

Sie können auch Aufträge mit qdel -p <job_id> löschen, aber das sagt einfach der Server zu vergessen alles, was es über einen Job weiß. In neueren Versionen wurde der Server in Bezug auf "verirrte" Jobs, die er nicht kennt, so geändert, dass er autorisierend ist. Daher sollte er die MOM (s) zwingen, den Job zu löschen. Ich würde jedoch nur empfehlen, als letzten Ausweg zu reinigen.