Sun Microsystems
Products & Services
 
Support & Training
 
 

Previous Previous     Contents     Index     Next Next

The following command deletes the resource attribute long:

% qconf -dattr exechost complex_values long tcf27-e019

Example 7-8 Adding a Queue to the List of Queues for a Checkpointing Environment

The following command adds tcf27-b011.q to the list of queues for the checkpointing environment sph:

% qconf -aattr ckpt queue_list tcf27-b011.q sph

Example 7-9 Changing the Number of Slots in a Parallel Environment

The following command changes the number of slots in the parallel environment make to 50:

% qconf -mattr pe slots 50 make

Targeting Queue Instances with the qselect Command

The qselect command outputs a list of queue instances. If you specify options, qselect lists only the queue instances that match the criteria you specify. You can use qselect in combination with the qconf command to target specific queue instances that you want to modify.

Example 7-10 Listing Queues

The following command lists all queue instances on Linux machines:

% qselect -l arch=glinux

The following command lists all queue instances on machines with two CPUs:

% qselect -l num_proc=2

The following command lists all queue instances on all four-CPU 64-bit Solaris machines:

% qselect -l arch=solaris64,num_proc=4

The following command lists queue instances that provide an application license. The queue instances were previously configured.

% qselect -l app_lic=TRUE

You can combine qselect with qconf to do wide-reaching changes with a single command line. To do this, put the entire qselect command inside backward quotation marks (` `) and use it in place of the queue-list variable on the qconf command line.

Example 7-11 Using qselect in qconf Commands

The following command sets the prolog script to sol_prolog.sh on all queue instances on Solaris machines:

% qconf -mattr queue prolog /usr/local/scripts/sol_prolog.sh `qselect -l arch=solaris`

The following command sets the attribute fluent_license to two on all queue instances on two-processor systems:

% qconf -mattr queue complex_values fluent_license=2 `qselect -l num_proc=2`

The most flexible way to automate the configuration of queue instances is to use the qconf command with the qselect command. With the combination of these commands, you can build up your own custom administration scripts.

Using Files to Modify a Global Configuration or the Scheduler

To change a global configuration, use the qconf -mconf command. To change the scheduler, use the qconf -msconf command.

Both of these commands open a temporary file in an editor. When you exit the editor, any changes that you save to this temporary file are processed by the system and take effect immediately. The editor used to open the temporary file is the editor specified by the EDITOR environment variable. If this variable is undefined, the vi editor is used by default.

You can use the EDITOR environment variable to automate the behavior of the qconf command. Change the value of this variable to point to an editor program that modifies a file whose name is given by the first argument. After the editor modifies the temporary file and exits, the system reads in the modifications, which take effect immediately.


Note - If the modification time of the file does not change after the edit operation, the system sometimes incorrectly assumes that the file was not modified. Therefore you should insert a sleep 1 instruction before writing the file, to ensure a different modification time.


You can use this technique with any qconf -m... command. However, the technique is especially useful for administration of the scheduler and the global configuration, as you cannot automate the procedure in any other way.

Example 7-12 Modifying the Schedule Interval

The following example modifies the schedule interval of the scheduler:

#!/bin/ksh
# sched_int.sh: modify the schedule interval
# usage: sched_int.sh <n>, where <n> is
# the new interval, in seconds. n < 60

TMPFILE=/tmp/sched_int.$$
if [ $MOD_SGE_SCHED_INT ]; then
     grep -v schedule_interval $1 > $TMPFILE
     echo "schedule_interval 0:0:$MOD_SGE_SCHED_INT" >> $TMPFILE
# sleep to ensure modification time changes
     sleep 1
     mv $TMPFILE $1
else
     export EDITOR=$0
     export MOD_SGE_SCHED_INT=$1
     qconf -msconf
fi

This script modifies the EDITOR environment to point to itself. The script then calls the qconf -msconf command. This second nested invocation of the script modifies the temporary file specified by the first argument and then exits. The grid engine system automatically reads in the changes, and the first invocation of the script terminates.

Previous Previous     Contents     Index     Next Next