Up: Miscellany


27.16 RLIMIT Command — Set Resource Limits

The RLIMIT command is used to set and display computer resource limits. It is critically important to set the stacksize limit (STACK) when running very large calculations in parallel on an SGI workstation. The command is only implemented on SGI and Linux systems. On Linux systems, the VMEM option is not accepted.

27.16.1 Syntax

     RLIMIT  repeat(limit [int     ])
                          [INFinity]
     
               [CORE  ]
               [CPU   ]
               [DATA  ]
     limit ::= [FSIZE ]
               [NOFILE]
               [STACK ]
               [VMEM  ]
               [RSS   ]

27.16.2 Function

The options in the RLIMIT command set computer resource limits. After the command finishes execution, the current limits are printed. The keywords have the following meaning:

CORE
Sets the maximum core file size in bytes. A zero limit means no core files.
CPU
Sets the maximum CPU utilization per process in seconds.
DATA
Specifies the maximum extent of the data segment in a process in units of bytes.
FSIZE
The maximum size of a file in bytes. N.B. In Irix 5.3 (and probably 6.1), this limit can only be changed downward, because of a bug in setting this limit, where the system call requires both soft and hard limits to be changed simultaneously.
NOFILE
Maximum number of open files.
STACK
Maximum stack size. For parallel execution of CONGEN, this parameter is very important. The default value of the stack size, 64 MB, results in memory consumption of 1.28GB for a 20 processor run. CONGEN can run very well using a stack size of 1MB, which is recommended for these large jobs.
VMEM
Maximum amount of virtual memory allowed to a process. This is effectively the sum of the data segment and stack memory.
RSS
Declared amount of physical memory required by the process. When total system memory is limited, any process using more than this amount of memory will have its pages written to the swap file first.