1xpbsmon(1B) PBS xpbsmon(1B)
2
3
4
6 xpbsmon - GUI for displaying, monitoring the nodes/execution hosts
7 under PBS
8
10 xpbsmon
11
13 The xpbsmon command provides a way to graphically display the various
14 nodes that run jobs. A node or execution host can be running a pbs_mom
15 daemon, or not running the daemon. For the latter case, it could just
16 be a nodename that appears in a nodes file that is managed by a main
17 pbs_server running on another host. This utility also provides the
18 ability to monitor values of certain system resources by posting
19 queries to the pbs_mom of a node. With this utility, you can see what
20 job is running on what node, who owns the job, how many nodes assigned
21 to a job, status of each node (color-coded and the colors are user-mod‐
22 ifiable), how many nodes are available, free, down, reserved, offline,
23 of unknown status, in use running multiple jobs or executing only 1
24 job. Please see the sections below for a tour and tutorials of xpb‐
25 smon. Also, within every dialog box, a Help button can be found for
26 assistance.
27
29 Running xpbsmon will initialize the X resource database from various
30 sources in the following order:
31
32 1. The RESOURCE_MANAGER property on the root window (updated via
33 xrdb) with settings usually defined in the .Xdefaults file
34
35 2. Preference settings defined by the system administrator in the
36 global xpbsmonrc file
37
38 3. User's ~/.xpbsmonrc file - this file defines various X resources
39 like fonts, colors, list of colors to use to represent the vari‐
40 ous status of the nodes, list of PBS sites to query, list of
41 server hosts on each site, list of nodes/execution hosts on each
42 server host, list of system resource queries to send to the
43 nodes' pbs_mom, and various view states. See PREFERENCES section
44 below for a list of resources that can be set.
45
47 xpbsmon can be run either as a regular user or superuser. If you run
48 it with less privilege, you may not be able to see all the information
49 for a node. If it is executed as a regular user, you should still be
50 able to see what jobs are running on what nodes, possibly state and
51 properties as these information are obtained by xpbsmon talking
52 directly to the specified server. If you want other system resource
53 values, it may require special privilege since xpbsmon will have to
54 talk directly to the pbs_mom of a node. In addition, the host where
55 xpbsmon was running must also have been given explicit access permis‐
56 sion by the mom (unless the GUI is running on the same host where mom
57 is running). This is done done by updating the $clienthost and/or the
58 $restricted parameter on the mom's configuration file.
59
60 To run xpbsmon, type:
61
62 setenv DISPLAY <display_host>:0
63 xpbsmon
64
65 If you are running the GUI and only interested in jobs data, then be
66 sure to set all the nodes' type to NOMOM in the Pref dialog box.
67
69 This section describes the main parts of the xpbsmon display. The main
70 window is composed of 3 distinct areas (subwindows) arranged vertically
71 (one on top of another) in the following order:
72 1) Menu
73 2) Site Information
74 3) Info
75
76 Menu. The Menu area is composed of a row of command buttons that signal
77 some action with a click of the left mouse button. The buttons are:
78
79 Site..
80 displays a popup menu containing the list of PBS
81 sites that have been added using the Sites Pref‐
82 erences window. Simply drag your mouse and
83 release to the site name whose servers/nodes
84 information you would like to see.
85
86 Pref.. brings up various dialog boxes for specifying the
87 list of sites, servers on each site, nodes that
88 are known to a server, and the system resource
89 queries to be sent to a node's pbs_mom daemon.
90
91 Auto Update.. brings up another window for specifying whether
92 or not to do auto updates of nodes information,
93 and also for specifying the interval number of
94 minutes between updates.
95
96 Help contains some help information.
97
98 About tells who the author is and who to send comments,
99 bugs, suggestions to.
100
101 Close for exiting xpbsmon plus saving the current setup
102 information (if anything had changed) in the
103 user's $HOME/.xpbsmonrc file. Information saved
104 include the specified list of sites, servers on
105 each site, nodes known to each server, and system
106 resource queries to send to node's pbs_mom.
107
108 Minimize Button
109 shows the iconized view of Site Information where
110 nodes are represented as tiny boxes, where each
111 box is colored according to status. In order to
112 get more information about a node, you need to
113 double click on the colored box.
114
115 Maximize button
116 shows the full view of Site Information where
117 nodes are represented in bigger boxes, still col‐
118 ored depending on the status, and some informa‐
119 tion on it is displayed.
120
121 Site Information. Only one site at a time can be displayed. This area
122 (shown as one huge box referred to as the site box) can be further sub-
123 divided into 3 areas: the site name label at the top, server boxes in
124 the middle, and the color status bar at the bottom. The site name
125 label shows the name of the site as specified in the Pref.. window. At
126 the middle of the site box shows a row of big boxes housing smaller
127 boxes.
128
129 The big box is an abstraction of a server host (called a server box),
130 showing its server display label at the top of the box, a grid of
131 smaller boxes representing the nodes that the server knows about (where
132 jobs are run), and summary status for the nodes under the server. Sta‐
133 tus information will show counters for the number of nodes used, avail‐
134 able, reserved, offline, or of unknown status and even # of cpus
135 assigned. For a cleaner display, some counters with a value of zero
136 are not displayed. The server boxes are placed in a grid, with a new
137 row being started when either *siteBoxMaxNumServerBoxesPerRow or *site‐
138 BoxMaxWidth limit has been reached.
139
140 The smaller boxes represent the nodes/execution hosts where jobs are
141 run (referred to as node boxes). Each node box shows the name at the
142 top, and a sub-box (a smaller square) that is is colored according to
143 the status of the node that it represents, and if the view type is
144 FULL, it will will display some node information according to the sys‐
145 tem resource queries specified on the Pref.. window. Clicking on the
146 sub-box will show a much bigger box (called the MIRROR view) with big‐
147 ger fonts containing nodes information. Another view is called ICON and
148 this shows a tiny box with a colored area. The node boxes are arranged
149 in a grid, where a new row is created if either the *serverBox‐
150 MaxNumNodeBoxesPerRow or *serverBoxMaxWidth limit has been reached.
151 ICON view of the node boxes will be constrained by the *nodeBoxIconMax‐
152 Height and *nodeBoxIconMaxWidth pixel values; FULL view of the node
153 boxes will be bounded by *nodeBoxFullMaxWidth and *nodeBoxFullMax‐
154 Height; the mirror view of the node boxes has its size be *nodeBoxMir‐
155 rorMaxWidth, and *nodeBoxMirrorMaxHeight.
156
157 Horizontal and vertical scrollbars for the site box, server box, and
158 node box will be displayed as needed.
159
160 Finally, the color bar information shows a color chart displaying what
161 the various colors mean in terms of node status. The color-to-status
162 mapping can be modified by setting the X resources: *nodeColorNOINFO,
163 *nodeColorFREE, *nodeColorINUSEshared, *nodeColorINUSEexclusive, *node‐
164 ColorDOWN, *nodeColorRSVD, *nodeColorOFFL.
165
166
167 Info. The Info Area shows the progress of some of the background
168 actions performed by xpbsmon. Look into this box for errors.
169
171 Some of the widgets used in xpbsmon and how they are manipulated are
172 described in the following:
173
174
175 1. listbox - the ones found in this GUI are only single-selectable (one
176 entry can be highlighted/selected at a time via a mouse click).
177
178 2. scrollbar - usually appears either vertically or horizontally and
179 contains 5 distinct areas that are mouse clicked to achieve differ‐
180 ent effects:
181
182 top arrow Causes the view in the associated widget to shift up
183 by one unit (i.e. the object appears to move down one
184 unit in its window). If the button is held down the
185 action will auto-repeat.
186
187 top gap Causes the view in the associated window to shift up
188 by one less than the number of units in the window
189 (i.e. the portion of the object that used to appear at
190 the very top of the window will now appear at the
191 very bottom). If the button is held down the action
192 will auto-repeat.
193
194 slider Pressing button 1 in this area has no immediate
195 effect except to cause the slider to appear sunken
196 rather than raised. However, if the mouse is moved
197 with the button down then the slider will be
198 dragged, adjusting the view as the mouse is moved.
199
200 bottom gap Causes the view in the associated window to shift down
201 by one less than the number of units in the window
202 (i.e. the portion of the object that used to
203 appear at the very bottom of the window will now
204 appear at the very top). If the button is held down
205 the action will auto-repeat.
206
207 bottom arrow Causes the view in the associated window to shift down
208 by one unit (i.e. the object appears to move up one
209 unit in its window). If the button is held down the
210 action will auto-repeat.
211
212
213 3. entry - brought into focus with a click of the left mouse button.
214 To manipulate this widget, simply type in the text value. Use of
215 arrow keys, mouse selection of text for deletion or overwrite, copy‐
216 ing and pasting with sole use of mouse buttons are permitted. This
217 widget is usually accompanied by a scrollbar for horizontally scan‐
218 ning a long text entry string.
219
220
221 4. box - made up of 1 or more listboxes displayed adjacent to each
222 other giving the effect of a "matrix". Each row from the listboxes
223 makes up an element of the box. In order to add items to the box,
224 you need to manipulate the accompanying entry widgets, one for each
225 listbox, and then clicking the add button. Removing items from the
226 box is done by selecting an element, and then clicking delete.
227
228
229 5. spinbox - a combination of an entry widget and a horizontal scroll‐
230 bar. The entry widget will only accept values that fall within a
231 defined list of valid values, and incrementing through the valid
232 values is done by clicking on the up/down arrows.
233
234 6. button - a rectangular region appearing either raised or pressed
235 that invokes an action when clicked with the left mouse button.
236 When the button appears pressed, then hitting the <RETURN> key will
237 automatically select the button.
238
240 CASE 1: Time Sharing
241
242 Suppose you have a time-sharing environment where the front-end
243 is called bower and you have 4 nodes: bower1, bower2, bower3,
244 bower4. bower is the host that runs the server; jobs are sub‐
245 mitted to host bower where it enqueues it for future execution.
246 Also, a pbs_mom daemon is running on each of the execution
247 hosts. If the server bower also maintains a nodes list contain‐
248 ing information like state, properties for the 4 nodes, then
249 this will also be reported. Then to setup xpbsmon, do the fol‐
250 lowing:
251
252
253 1. Click the Pref.. button on the Menu section.
254
255 2. On the Sites Preference dialog, enter any arbitrary site
256 name, for example "Local". Then click the add button.
257
258 3. On the Server_Host entry box, enter "bower", and on the
259 DisplayLabel entry box, put an arbitrary label (as it
260 would appear on the header of the server box) like
261 "Bower", and then click add.
262
263 4. Click the nodes.. button that is accompanying the Servers
264 box. This would bring up the Server Preference dialog.
265
266 5. Now add the entries "bower1", "bower2", "bower3",
267 "bower4" specifying type MOM for each on the Nodes box.
268
269 6. If you need to monitor certain system resource parameters
270 for each of the nodes, you need to specify query expres‐
271 sions containing resource queries to be sent to the indi‐
272 vidual PBS moms. For example, if you want to obtain mem‐
273 ory usage, then select a node from the Nodes list, click
274 on the query.. button that accompanies the Nodes list,
275 and this would bring up the Query Table dialog. Specify
276 the following input:
277
278 Query_Expr: (availmem/totmem) * 100
279 Display_Info: Memory Usage:
280 Display_Type: SCALE
281
282 The above says to display the result of the "Query_Expr"
283 in a scale widget calibrated over 100. The queries
284 "availmem" and "totmem" will be sent to the PBS mom, and
285 the expression is evaluated upon receiving all results
286 from the mom. If you want to display the result of
287 another query, say "loadave", directly, then specify the
288 following:
289
290 Query_Expr: loadave
291 Display_Info: Load Average:
292 Display_Type: TEXT
293
294 NOTE: For a list of queries that can be sent to a
295 pbs_mom, please click on the Help button on the Query ta‐
296 ble window.
297
298 CASE 2: Jobs Exclusive Environment
299 Supposing you have a "space non-sharing" environment where the
300 server maintains a list of nodes that it runs jobs on exclu‐
301 sively (one job at a time outstanding per node). Let's call this
302 server b1. Simply update Preferences information as follows:
303
304 1. Click the Pref.. button on the Menu section.
305
306 2. On the Sites Preference dialog, enter a site name, for
307 example "B System". Then click the add button.
308
309 3. On the Server_Host entry box, enter "b1", DisplayLabel
310 entry box type "B1" (or whatever label that you would
311 like to appear on the header of the server box), and then
312 click add.
313
314
315 CASE 3: Hybrid Time Sharing/Space Sharing Environment
316 A cluster of heterogeneous machines, time-sharing or jobs exclu‐
317 sive, could easily be represented in xpbsmon by combining steps
318 in CASE 1 and CASE 2.
319
321 Click on the Close button located in the Menu bar to leave xpbsmon. If
322 anything had changed, it will bring up a dialog box asking for a
323 confirmation in regards to saving preferences information about list of
324 sites, their view types, list of servers on each site, the list of
325 nodes known to each server, and the list of queries to be sent to the
326 pbs_mom of each node. The information is saved in ~/.xpbsmonrc file.
327
329 The resources that can be set in the X resources file, ~/.xpbsmonrc,
330 are described in the following:
331
332 Node Box Properties
333
334 Resource names beginning with "*small" or "*node" apply to the proper‐
335 ties of the node boxes. A node box is made of an outer frame where the
336 node label sits on top, the canvas (smaller box) is on the middle, and
337 possibly some horizontal/ vertical scrollbars.
338
339
340 nodeColorNOINFO
341 color of node box when information for the node it represents
342 could not be obtained.
343
344 *nodeColorFREE
345 color of canvas when node it represents is up.
346
347 *nodeColorINUSEshared
348 color when node it represents has more than 1 job running on it,
349 or when node has been marked by the server that manages it as
350 "job-sharing".
351
352 *nodeColorINUSEexclusive
353 list of colors to assign to a node box when host it represents
354 is running only 1 job, or when node has been marked by the
355 server that manages it as "time-sharing". xpbsmon will use this
356 list to assign 1 distinct color per job unless all the colors
357 have been exhausted, in which case, colors will start getting
358 assigned more than once in a round-robin fashion.
359
360 *nodeColorDOWN
361 color when node it represents is down.
362
363 *nodeColorRSVD
364 color when node it represents is reserved.
365
366 *nodeColorOFFL
367 color when node it represents is offline.
368
369 *smallForeground
370 applies to the color of text inside the canvas.
371
372 *smallBackground
373 applies to the color of the frame.
374
375 *smallBorderWidth
376 distance (in pixels) from other node boxes.
377
378 *smallRelief
379 how node box will visually appear (style).
380
381 *smallScrollBorderWidth
382 significant only in FULL mode, this is the distance of the hori‐
383 zontal/vertical scrollbars from the canvas and lower edge of the
384 frame.
385
386 *smallScrollBackground
387 background color of the scrollbars
388
389 *smallScrollRelief
390 how scrollbars would visually appear (style).
391
392 *smallCanvasBackground
393 color of the canvas (later overridden depending on status of the
394 node it represents)
395
396 *smallCanvasBorderWidth
397 distance of the canvas from the frame and possibly the scroll‐
398 bars.
399
400 *smallCanvasRelief
401 how the canvas is visually represented (style).
402
403 *smallLabelBorderWidth
404 the distance of the node label from the canvas and the topmost
405 edge of the frame.
406
407 *smallLabelBackground
408 the background of the area of the node label that is not filled.
409
410 *smallLabelRelief
411 how the label would appear visually (style).
412
413 *smallLabelForeground
414 the color of node label text.
415
416 *smallLabelFont
417 the font to use for the node label text.
418
419 *smallLabelFontWidth
420 font width (in pixels) of *smallLabelFont
421
422 *smallLabelFontHeight
423 font height (in pixels) of *smallLabelFont
424
425 *smallTextFont
426 font to use for the text that appear inside a canvas.
427
428 *smallTextFontWidth
429 font width (in pixels) of *smallTextFont.
430
431 *smallTextFontHeight
432 font height (in pixels) of *smallTextFont.
433
434 *nodeColorTrough
435 color of trough part (the /100 portion) of a canvas scale item.
436
437 *nodeColorSlider
438 color of slider part (value portion) of a canvas scale item.
439
440 *nodeColorExtendedTrough
441 color of extended trough (over 100 portion when value exceeds
442 max) of a canvas scale item.
443
444 *nodeScaleFactor
445 tells how much bigger you want the scale item on the canvas to
446 appear. (1 means to keep size as is)
447
448 *nodeBoxFullMaxWidth
449
450 *nodeBoxFullMaxHeight
451 maximum width and height (in pixels) of a node box in FULL mode.
452
453 *nodeBoxIconMaxWidth
454
455 *nodeBoxIconMaxHeight
456 maximum width and height (in pixels) of a node box in ICON mode.
457
458 *nodeBoxMirrorMaxWidth
459
460 *nodeBoxMirrorMaxHeight
461 maximum width and height (in pixels) of a node box displayed on
462 a separate window (after it has been clicked with the mouse to
463 obtain a bigger view)
464
465 *nodeBoxMirrorScaleFactor
466 tells how much bigger you want the scale item on the canvas to
467 appear while the node box is displayed on a separate window (1
468 means to keep size as is)
469
470 Server Box Properties
471
472 Resource names beginning with "*medium" apply to the properties of the
473 server boxes. A server box is made of an outer frame where the server
474 display label sits on top, a canvas filled with node boxes is on the
475 middle, possibly some horizontal/vertical scrollbars, and a status
476 label at the bottom.
477
478 *mediumLabelForeground
479 color of text applied to the server display label and status
480 label.
481
482 *mediumLabelBackground
483 background color of the unfilled portions of the server display
484 label and status label.
485
486 *mediumLabelBorderWidth
487 distance of the server display label and status label from other
488 parts of the server box.
489
490 *mediumLabelRelief
491 how the server display label and status label appear visually
492 (style).
493
494 *mediumLabelFont"
495 font used for the text of the server display label and status
496 label.
497
498 *mediumLabelFontWidth
499 font width (in pixels) of *mediumLabelFont.
500
501 *mediumLabelFontHeight
502 font height (in pixels) of *mediumLabelFont.
503
504 *mediumCanvasBorderWidth
505 the distance of the server box's canvas from the label widgets.
506
507 *mediumCanvasBackground
508 the background color of the canvas.
509
510 *mediumCanvasRelief
511 how the canvas appear visually (style).
512
513 *mediumScrollBorderWidth
514 distance of the scrollbars from the other parts of the server
515 box.
516
517 *mediumScrollBackground
518 the background color of the scrollbars
519
520 *mediumScrollRelief
521 how the scrollbars appear visually.
522
523 *mediumBackground
524 the color of the server box frame.
525
526 *mediumBorderWidth
527 the distance of the server box from other boxes.
528
529 *mediumRelief
530 how the server box appears visually (style).
531
532 *serverBoxMaxWidth
533
534 *serverBoxMaxHeight
535 maximum width and height (in pixels) of a server box.
536
537 *serverBoxMaxNumNodeBoxesPerRow
538 maximum # of node boxes to appear in a row within a canvas.
539
540 Miscellaneous Properties
541
542 Resource names beginning with "*big" apply to the properties of a site
543 box, as well as to widgets found outside of the server box and node
544 box. This includes the dialog boxes that appear when the menu buttons
545 of the main window are manipulated. The site box is the one that
546 appears on the main region of xpbsmon.
547
548 *bigBackground
549 background color of the outer layer of the main window.
550
551 *bigForeground
552 color applied to regular text that appear outside of the node
553 box and server box.
554
555 *bigBorderWidth
556 distance of the site box from the menu area and the color infor‐
557 mation area.
558
559 *bigRelief
560 how the site box is visually represented (style)
561
562 *bigActiveColor
563 the color applied to the background of a selection, a selected
564 command button, or a selected scroll bar handle.
565
566 *bigShadingColor
567 a color shading applied to some of the frames to emphasize
568 focus as well as decoration.
569
570 *bigSelectorColor
571 the color applied to the selector box of a radiobutton or
572 checkbutton.
573
574 *bigDisabledColor
575 color applied to a disabled widget.
576
577 *bigLabelBackground
578 color applied to the unfilled portions of label widgets.
579
580 *bigLabelBorderWidth
581 distance from other widgets of a label widget.
582
583 *bigLabelRelief
584 how label widgets appear visually (style)
585
586 *bigLabelFont
587 font to use for labels.
588
589 *bigLabelFontWidth
590 font width (in pixels) of *bigLabelFont.
591
592 *bigLabelFontHeight
593 font height (in pixels) of *bigLabelFont.
594
595 *bigLabelForeground
596 color applied to text that function as labels.
597
598 *bigCanvasBackground
599 the color of the main region.
600
601 *bigCanvasRelief
602 how the main region looks like visually (style)
603
604 *bigCanvasBorderWidth:
605 distance of the main region from the menu and info regions.
606
607 *bigScrollBorderWidth
608 if the main region has a scrollbar, this is its distance from
609 other widgets appearing on the region.
610
611 *bigScrollBackground
612 background color of the scrollbar appearing outside a server box
613 and node box.
614
615 *bigScrollRelief
616 how the scrollbar that appears outside a server box and node box
617 looks like visually (style)
618
619 *bigTextFontWidth
620 the font width (in pixels) of *bigTextFont
621
622 *bigTextFontHeight
623 the font height (in pixels) of *bigTextFont
624
625 *siteBoxMaxWidth
626 maximum width (in pixels) of the site box.
627
628 *siteBoxMaxHeight
629 maximum height (in pixels) of the site box.
630
631 *siteBoxMaxNumServerBoxesPerRow
632 maximum number of server boxes to appear in a row inside the
633 site box.
634
635 *autoUpdate
636 if set to true, then information about nodes is periodically
637 gathered.
638
639 *autoUpdateMins
640 the # of minutes between polling for data regarding nodes when
641 *autoUpdate is set.
642
643 *siteInView
644 the name of the site that should be in view
645
646 *rcSiteInfoDelimeterChar
647 the separator character for each input within a curly-bracketed
648 line of input of *siteInfo.
649
650 *sitesInfo
651 {<site1name><sep><site1-display-type><sep><server-
652 name><sep><server-display-label><sep><nodename><sep><node‐
653 type><sep><node-query-expr>}
654 . . .
655 {<site2name><sep><site2-display-type><sep><server-
656 name><sep><server-display-label><sep><nodename><sep><node‐
657 type><sep><node-query-expr>}
658
659 information about a site where <site1-display-type> can be
660 either {FULL,ICON}, <nodetype> can be {MOM, NOMOM}, and <node-
661 query-expr> has the format:
662
663 { {<expr>} {expr-label} <output-format>}
664
665 where <output-format> could be {TEXT, SCALE}. It's probably bet‐
666 ter to use the Pref dialog boxes in order to specify a value for
667 this.
668
669 Example:
670
671 *rcSiteInfoDelimeterChar ;
672 *sitesInfo: {Mars;ICON;newton;Newton;newton3;NOMOM;} {Lang‐
673 ley;FULL;db;DB;db.OpenPBS.org;MOM;{{ ( availmem / totmem ) *
674 100} {Memory Usage:} SCALE} {{ ( loadave / ncpus ) * 100} {Cpu
675 Usage:} SCALE} {ncpus {Number of Cpus:} TEXT} {physmem {Physical
676 Memory:} TEXT} {idletime {Idle Time (s):} TEXT} {loadave {Load
677 Avg:} TEXT}} {Mars;ICON;newton;Newton;newton4;NOMOM;}
678 {Mars;ICON;newton;Newton;newton1;NOMOM;} {Mars;ICON;newton;New‐
679 ton;newton2;NOMOM;} {Mars;ICON;b0101;DB;aspa‐
680 sia.OpenPBS.org;MOM;{{ ( availmem / totmem ) * 100} {Memory
681 Usage:} SCALE} {{ ( loadave / ncpus ) * 100} {Cpu Usage:} SCALE}
682 {ncpus {Number of Cpus:} TEXT} {physmem {Physical Memory:} TEXT}
683 {idletime {Idle Time (s):} TEXT} {loadave {Load Avg:} TEXT}}
684 {Mars;ICON;newton;Newton;newton7;NOMOM;}
685
687 Upon successful processing, the xpbsmon exit status will be a value of
688 zero.
689
690 If the xpbsmon command fails, the command exits with a value greater
691 than zero.
692
693 If xpbsmon is querying a host running a server with an incompatible
694 version, you may see the following messages:
695
696 Internal error: pbsstatnode: End of File (15031)
697
698 The above message can be safely ignored.
699
701 pbs_sched_tcl(8B) and pbs_mom(8B).
702
703
704
705
706Local xpbsmon(1B)