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