Очередь задач обслуживается планировщиком в соответствии с основными принципами построения очередей. Планировщик формирует информацию о текущем состоянии, посмотреть которую можно по команде 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 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 при выдаче:
Информация о режимах начинается с ‘---‘ и содержит:
Следующий пример демонстрирует режим, который включается 22 марта 2000 г. в 7 часов 30 минут и имеет следующие параметры: всего планируется 32 процессора, максимальное время для отладочных задач – 15 минут, для пакетных – 300 минут, при этом под отладочные задачи отведено 16 процессоров, эти 16 процессоров не могут занимать пакетные задачи, границы приоритетов определяют два приоритета – высокий для пользователей, считавших менее 180 минут, и низкий - для всех остальных. Данный режим относится лишь к нулевому классу (R=1), т.е. только те пользователи, которым разрешено считать в режимах нулевого класса, могут запускать здесь свои задачи. У администратора есть возможность создать режим, в котором всем пользователям режимов других классов дано разрешение запускать отладочные задачи. В настоящее время этот флаг при выдаче информации о режимах не отражается.
Информация о считающихся задачах содержит:
Следующий пример демонстрирует считающуюся задачу img1.3 пользователя guest. Задача занимает 15 процессоров, используя ресурс локального дискового пространства с именем tsk1, считается последний раз (более повторов не будет), оставшееся время счета – 150 минут, задача фоновая с квантом 15 минут, будет перепланирована системой через 15 минут 2 августа 2003 года в 18 часов 3 минуты. Задаче будет предоставлена 1 минута для завершения очередного кванта, если следующий квант может быть выдан задаче лишь после некоторого перерыва.
Информация о стоящих в очереди задачах отличается от информации о считающихся задачах тем, что вместо количества минут до завершения выдается код (причины) ожидания и количество минут до предполагаемого старта (разделенные символом ~), а вместо времени завершения — время постановки в очередь (после <:). Например:
Следующая выдача говорит о том, что задача находится в процессе запуска:
Следующая выдача говорит о том, что задача находится в процессе завершения:
Задача может быть заморожена оператором или системой. В этом случае вместо времени, оставшегося до старта будет проставлено ~~~, например:
Как видим, индикатор блокированной задачи (~~~) предваряется буквенным кодом, отображающим причину блокировки или ожидания задачи. Ниже приводится расшифровка буквенных кодов.
Коды причин ожидания вмешательства со стороны администратора или пользователя:
A — задача заблокирована администратором;
Н — очередь в целом заблокирована администратором;
O — рассматриваемых планировщиком режимов не хватает, чтобы сделать вывод о возможности или невозможности запуска задачи в одном из них;
P — в текущем расписании для данного пользователя запрещено запускать задачи с таким числом процессоров;
R — резервная задача не может быть запущена ни в одном из рассматриваемых планировщиком режимов;
T — квант задачи превышает время пакетных задач всех рассматриваемых планировщиком режимов;
U — задача заблокирована пользователем.
Коды причин ожидания изменения ситуации (очередного цикла планирования):
e — старт отложен из-за несущественной ошибки при запуске;
Коды причин ожидания, приводящих к откладыванию старта на вполне определенный срок:
b — занятость процессоров считающимися задачами;
d — при старте задача не оставила бы в одном из режимов нужного для отладочных задач количества процессоров на слишком длительное время;
m — в одном из режимов пользователю запрещено запускать задачи;
p — при запуске задача отодвинула бы старт более приоритетной задачи;
t — квант задачи превышает время пакетных задач одного из режимов;
После информации о задачах выдается количество свободных на данный момент процессоров (Free), а также, сколько имеется доступных для счета (Available) и заблокированных (Locked) процессоров. :
Затем выдается суммарная информация по каждому пользователю, формировавшему задачи в учетный период времени:
Например,
Здесь показано, что пользователю u1310 запрещено ставить задачи в очередь, задачи его и пользователя u1305, стоящие в очереди, заморожены; всем пользователям информация выдается со степенью подробности 2 (т.е. вся за исключением имен задач других пользователей и информации о пользователях, которые в учетный период не считали и не имеют задач в очереди); всем пользователям разрешено запускать задачи в режимах класса 0, а пользователю u0319 еще и в режимах класса 1.