Просмотр очереди
Очередь задач обслуживается планировщиком в соответствии с
основными принципами
построения очередей. Планировщик формирует информацию о текущем состоянии, посмотреть которую можно по команде
mqinfo.
Данная команда не имеет параметров,
информация, выдаваемая ею, выглядит следующим образом:
Current time: Mon Mar 22 13:10:07 2003 | текущие дата и время
|
Queue state at Mon Mar 22 13:06:09 2003 | дата и время на которое выдается состояние очереди
|
Current schedule: 2 | номер текущего расписания
|
Accumulation period: 168 hours | учетный период
|
---
22.03.00 07:30: R=1 total – 32,
debug – 5/15,
packet –300,
priority scale –(120 300) | действующий режим
|
img1.3:
guest
6.3
0* 15(tsk1)
150/15+1
16 >: 22.03.02 13:22 | стартовавшая
задача img1.3
|
--queue -- | разделитель считающихся и ждущих задач
|
tnet.7 : ant 0.2 1* 10 15/15 ~16
<:20.03.02
12:33 | задача tnet.7, стоящая в очереди
|
img1.4 : guest 6.5 0*
15(tsk1) 150/15+1 b~26
<: 22.03.02 12:48
| задача img1.4, стоящая в очереди
|
---22.03.00 19:00: R=5 total – 32, debug
- 0/15, packet - 600, priority scale - (10000) | новый режим (включится в 19:00)
|
tnet.3 : ant 6.4 1* 20 500/500 ~354 <:22.03.02 12:34 | задача tnet.3, стоящая в очереди
|
---23.03.00 07:30: R=1 total – 32, debug - 16/15, packet - 300,
priority scale - (120 300) | новый режим
|
tnet.1 : ant 7.1 1* 1 15/15 A~~~
<:20.03.02 14:20 | отложенная задача tnet.1
|
Free: 5 proc Available: 20 Locked: 12 | сведения о свободных, доступных и заблокированных процессорах
|
ant:
Inf:3
R=1
run=0
wait=3/5
all= 3/7
*1.00
Sr/Sf=0/26 | суммарная информация по
пользователю ant
|
guest: Inf:3 R=1 run=1 wait=1/5 all=2/7 *1.00
Sr/Sf=16/310 | суммарная информация по пользователю guest
|
В
заголовке выдачи сообщается, в какой момент сформирована данная информация (
Queue state at)
. Кроме того, выдается номер текущего расписания (
Current schedule) и учетный период
(
Accumulation period), за
который производится суммирование времени счета завершившихся задач
по каждому пользователю.
Если очередь блокирована (заморожена), то
это отображается словом
Hold
при выдаче:
Queue
state at Wed Mar 22 12:40:07 2000
Current
schedule: 2 Hold
Accumulation period: 168 hours
---
22.03.00 07:30: R=3 total – 32 debug – 16/15, packet –
300, priority scale - (120 300)
--- 22.03.00 19:00: R=2
total – 32 debug - 0/15, packet - 600, priority scale -
(10000)
--- 23.03.00 07:30: R=2 total – 32 debug -
16/15, packet - 300, priority scale - (120 300)
tnet.7 :
ant 1* 10 15/15 H~~~ <:Mon Mar 22 13:31:09
2000
tnet.3 : ant 1* 24 500/500 H~~~ <:Mon
Mar 22 20:31:09 2000
tnet.1 : ant 1* 1 15/15
H~~~ <:Mon Mar 20 20:31:09 2000
Информация
о режимах начинается с ‘---‘ и содержит:
-
дату и время включения
режима;
-
после
R= –
битовую маску классов к которым принадлежит данный режим (“1”
означает нулевой класс, “2” —1-й класс, “3” —1-й и 2-й классы,“fc” —
классы со 2-го по 7-й включительно);
-
после
total –
общее число планируемых процессоров;
-
после
debug –
количество процессоров, отведенное под
отладочные задачи/максимальное время (в минутах) для отладочных
задач;
-
после
packet –
максимальное время (в минутах) для
пакетных задач;
-
после
priority
scale –
границы приоритетов.
Следующий
пример демонстрирует режим, который включается 22 марта 2000 г. в 7
часов 30 минут и имеет следующие параметры: всего планируется 32
процессора, максимальное время для отладочных задач – 15
минут, для пакетных – 300 минут, при этом под отладочные
задачи отведено 16 процессоров, эти 16 процессоров не могут занимать
пакетные задачи, границы приоритетов определяют два приоритета –
высокий для пользователей, считавших менее 180 минут, и низкий -
для всех остальных. Данный режим относится лишь к нулевому классу
(R=1),
т.е. только те пользователи, которым разрешено считать в режимах
нулевого класса, могут запускать здесь свои задачи. У администратора
есть возможность создать режим, в котором всем пользователям режимов
других классов дано разрешение запускать отладочные задачи. В
настоящее время этот флаг при выдаче информации о режимах не
отражается.
---22.03.00
07:30: R=1 total–32 debug-16/15, packet–300, priority
scale-(180)
Информация о считающихся
задачах содержит:
-
имя задачи;
-
имя пользователя;
-
составной
индикатор порядка выделения ресурсов: номер (0 - 7)
очереди при выделении ресурсов и (через ‘.’) номер в
списке задач — чем меньше номер очереди (или номер в списке задач, если номер очереди совпадает),
тем раньше планировщик пытался выделить ресурс данной задаче (так задача с порядком 5.3 рассматривалась
планировщиком раньше, чем задача с порядком 5.12, и позже, чем задача с порядком 0.38);
-
количество оставшихся
повторов счета;
-
количество процессоров,
занимаемых задачей;
-
заключенное в скобки имя
ресурса ЛДП, если он используется задачей;
-
остаток времени счета в
минутах;
-
квант счета в минутах;
-
число минут,
зарезервированных для завершения, если есть;
-
количество минут до
предполагаемого завершения задачи;
-
предполагаемое
время завершения (после >:).
Следующий
пример демонстрирует считающуюся задачу img1.3
пользователя guest.
Задача занимает 15 процессоров, используя ресурс локального дискового
пространства с именем tsk1,
считается последний раз (более повторов не будет), оставшееся время
счета – 150 минут, задача фоновая с квантом 15 минут, будет
перепланирована системой через 15 минут 2 августа 2003 года в 18
часов 3 минуты. Задаче будет предоставлена 1 минута для завершения
очередного кванта, если следующий квант может быть выдан задаче лишь
после некоторого перерыва.
img1.3
: guest 6.3 0* 15(tsk1) 150/15+1 16 >:03.08.02
18:03
Информация
о стоящих в очереди задачах отличается от информации о считающихся
задачах тем, что вместо количества минут до завершения выдается код
(причины) ожидания и количество минут до предполагаемого старта
(разделенные символом
~), а вместо времени завершения —
время постановки в очередь (после
<:). Например:
img1.4
: guest 6.5
0* 15(tsk1)
150/15+1 b~16
<:03.08.02 14:33
Следующая
выдача говорит о том, что задача находится в процессе запуска:
img1.3 : guest 6.3 0* 15(tsk1) 150/15+1 starting
Следующая выдача говорит о том, что задача находится в процессе завершения:
img1.3
: guest 6.3 0* 15(tsk1) 150/15+1 finishing
Задача
может быть заморожена оператором или системой. В этом случае вместо
времени, оставшегося до старта будет проставлено
~~~,
например:
img1.2
: ant 6.7 1* 16 300/300 A~~~ <:03.08.02 14:03
Как
видим, индикатор блокированной задачи (~~~) предваряется буквенным
кодом, отображающим причину блокировки или ожидания задачи. Ниже
приводится расшифровка буквенных кодов.
Коды
причин ожидания вмешательства со стороны администратора или
пользователя:
A —
задача заблокирована администратором;
Н —
очередь в целом заблокирована администратором;
O —
рассматриваемых планировщиком режимов не хватает, чтобы сделать
вывод о возможности или невозможности запуска задачи в одном из
них;
P —
в текущем расписании для данного пользователя запрещено запускать
задачи с таким числом процессоров;
R —
резервная задача не может быть запущена ни в одном из
рассматриваемых планировщиком режимов;
T —
квант задачи превышает время пакетных задач всех рассматриваемых
планировщиком режимов;
U —
задача заблокирована пользователем.
Коды
причин ожидания изменения ситуации (очередного цикла
планирования):
e —
старт отложен из-за несущественной ошибки при запуске;
Коды
причин ожидания, приводящих к откладыванию старта на вполне
определенный срок:
b —
занятость процессоров считающимися задачами;
d — при
старте задача не оставила бы в одном из режимов нужного для
отладочных задач количества процессоров на слишком длительное
время;
m — в одном из режимов пользователю запрещено
запускать задачи;
p — при запуске задача отодвинула бы
старт более приоритетной задачи;
t — квант задачи
превышает время пакетных задач одного из режимов;
После информации о задачах выдается количество свободных на данный момент процессоров (Free),
а также, сколько имеется доступных для счета
(Available)
и заблокированных (Locked)
процессоров. :
Free: 6 proc Available: 17 Locked: 9
Затем выдается
суммарная информация по каждому пользователю, формировавшему задачи в учетный период времени:
-
login-имя;
-
информация
о запрете (Block:)
счета (Q)
или запуска (R)
задач (если он установлен администратором);
-
степень
подробности выдачи информации (Inf:);
-
шкала
классов режимов (R=),
в которых разрешено запускать задачи, в виде 16-го числа;
- после
run -
количество считающихся задач;
-
после
wait -
количество ждущих задач/ограничение на количество ждущих задач;
-
после
all -
суммарное количество задач в очереди/ограничение на суммарное
количество задач в очереди;
-
коэффициент умножения при
вычислении цены задачи;
-
после
Sr/Sf
- суммарная стоимость считающихся
задач/суммарная стоимость закончившихся задач;
Например,
guest:
Inf:2 run=1 wait=0/1 all=1/1 *1.00 Sr/Sf=15/14
u1125:
Inf:2 R=1 run=0 wait=0/5 all=0/7 *1.00 Sr/Sf=0/365
u1310:
Block:RQ Inf:2 R=1 run=0 wait=1/5 all=1/7 *1.00 Sr/Sf=0/0
u0319:
Inf:2 R=3 run=0 wait=0/5 all=0/7 *1.00 Sr/Sf=0/88
u1305:
Block:R Inf:2 R=1 run=1 wait=2/5 all=3/7 *1.00 Sr/Sf=0/0
Здесь
показано, что пользователю u1310
запрещено ставить задачи в очередь, задачи его и пользователя u1305,
стоящие в очереди, заморожены; всем пользователям информация
выдается со степенью подробности 2 (т.е. вся за исключением имен
задач других пользователей и информации о пользователях, которые в
учетный период не считали и не имеют задач в очереди); всем
пользователям разрешено запускать задачи в режимах класса 0, а
пользователю u0319
еще и в режимах класса 1.