Nevis SGI Computer Use Policy This was made effective June 16, 1994. It was revised June 1, 1999 to reflect the new priority numbers under IRIX 6.5, and on June 2, 1999 to establish a policy on Netscape.

Basic rules of usage

In order to provide a 'fair' usage scheme, we have developed a criteria for the way you run your batch jobs. Basically, there are two sets of rules to follow.

  1. At no time shall a user submit or have running on the SGI more than 3 jobs at a time, regardless of the actual state of the CPU. This means that even if there are no other jobs running, you are still limited to 3 jobs at a time.

    If you have more than three jobs running at once, they will be killed with a -9 flag so no record or log file shall be left behind.

  2. You must set the priority of your job based upon the estimated length of time you expect your job to run.

    There are three predefined levels:

    Expected Job length         Priority set to
    --------------------------------------------
    0 - 15 minutes              20
    15 minutes to 2 hours       19
    Any job > 2 hours           18
    
    This scheme will allow those jobs which are quick-running to access the machine and get off yet it will still allow a fair amount of CPU utilization for the longer jobs.

It is the responsiblity of the system administrators to observe the jobs running on the machine and renice the jobs with no prior notification if the jobs fall outside the above stated usage scheme. Failure to maintain these priorities shall mean having your job reniced +5 or more so it gets the least amount of CPU time.

Note: If you submit your jobs using the batch command, they will automatically have priority 18.

Job monitoring

By monitoring the SGI using the command top, you will be able to observe your jobs running. If you see that your jobs have exceeded their predefined levels, then you can change your job's priority directly using the renice command. Remember, the lower the priority, the lower the CPU usage -- but you lower the priority by adding using renice.

For example, to decrease the CPU utilization of process 28975, you would type:

renice +2 28975
If process ID 28975 was running at priority 20, it will now run at priority 18.

Determining the process ID

You can use the top command to obtain the process ID; it's the second column on the display.

Another method is to use the ps command. The UNIX command

ps -ef | grep $user
will display all your currently-running processes. The process ID is the in the second column of the output. You can also use the command myjobs, written at Nevis, which effectively executes the same UNIX command as above.

Memory usage

In addition to monitoring your CPU usage, you should also monitor your memory usage. Normally, this is not a problem with most programs. However, some programs may have memory leaks, or may begin to take up more memory if they're left running unattended for a long time (e.g., Netscape). If the resident memory size of your process begins to exceed five megabytes, you should think about reducing its priority.

What is the "resident memory size"? If you look at the output of the top command, you will see columns labeled SIZE and RES. The first is the total memory being used by the program. However, this number includes all shared system resources. The RES column identifies the unique memory being used by the program, and is the better indicator of how much memory your job uses. This number is the resident memory size.

If you use top, the memory size is reported in bytes. You can also use

ps -elf | grep $user
to see the memory usage of your running jobs; the SZ:RSS column reports usage in 16-kilobyte memory pages. The command bigjobs, written at Nevis, reports the ten jobs which use the most memory on the system.

Nevis1 has 256 MB of memory. When that memory is used up, the system will begin to use swap space on disk. Although we have over a gigabyte of swap space available, if many jobs start using it, the system begins to slow down as many jobs swap to and from the swap disk.

Although there is no formal policy on memory use at present, if your job begins to use more than 5 MB of resident memory and the system appears to be running slowly, the system administrators will probably renice your job to priority to 16 to make the system faster for other users.

Netscape

Normally, running Netscape on nevis1 does not cause any problems. However, there are times when running Netscape can severely impact the performance of the system.

To prevent either of these from occurring, please do the following:

  1. If you are connecting to nevis1 from a desktop computer, run Netscape on that computer; do not run it on nevis1. (The local Netscape will run faster than a remote version anyway.)
  2. Every once in a while, execute the myjobs command. If Netscape or any program is using an unusual number of CPU cycles or memory, renice it or kill it.
  3. Don't leave Netscape unattended while it displays a page that uses browser scripting (note that almost all pages with advertising banners use Javascript). If you're running Netscape on nevis1, consider using the Nevis Home Page at http://www.nevis.columbia.edu/ as your home page (on the "Edit" menu, choose "Preferences", then click on "Navigator" in the left-hand frame and edit the home page).

If a system administrator sees what appears to be a "runaway" Netscape job, especially if it appears near the top of the display of the top command, it will be killed without warning.


Back to the Nevis Computing Page.

Up to the Nevis Home Page.

E-mail: Send any comments or questions to the webmaster.