lim

Load information manager (LIM), monitoring host load.

Synopsis

lim [-d conf_dir] [-debug_level]
lim -C
lim -t
lim -T
lim -h
lim -V

Description

There is one LIM daemon or service on every host in the cluster. Of these, one LIM from the primary list is elected primary LIM for the cluster. The primary LIM receives load information from the other LIM daemons, and provides services to all host.

The LIM does the following for the host on which it runs:
  • Starts PEM on that host
  • Provides system configuration information to vemkd
  • Monitors load and provides load information statistics to vemkd and users

The primary LIM starts VEMKD and PEM on the primary host.

The non-primary LIM daemons monitor the status of the primary LIM and elect a new primary (from the primary list) if the current primary LIM becomes unavailable.

Collectively, the LIMs in the cluster coordinate the collection and transmission of load information. Load information is collected in the form of load indices.

CAUTION:
Never start the daemon manually without options: specify the -V option to check the version, the -d option to start the daemon in debug mode, or the -C option to validate its configuration files.

Options

-d conf_dir

Starts the daemon, reading from the EGO configuration file ego.conf in the specified directory, rather than from the directory set via the EGO_CONFDIR environment variable.

Use this option when starting the daemon in debug mode.

CAUTION:
Never start the daemon manually unless directed to do so by Product Support.
-debug_level

Starts the LIM in debug mode. When running in debug mode, the LIM uses a hard-coded port number rather than the one registered in system services.

Specify one of the following values:
-1

Starts the LIM in the background, with no associated control terminal.

-2

Starts the LIM in the foreground, displaying the log messages to the terminal.

CAUTION:
Never start the daemon manually unless directed to do so by Product Support.
-t

Displays host information, such as host type, host architecture, number of physical processors, number of cores per physical processor, number of threads per core, and license requirements.

Note: When running Linux® kernel version 2.4, you must run lim -t as root to ensure consistent output with other clustered application management commands (for example, output from running the IBM® Spectrum LSF® command lshosts).
-T

Displays local host topology information:

Host

The name of the host.

Host maximum memory

The maximum amount of memory available on the host.

NUMA node

Each CPU is assigned its own local memory. One processor/socket and all cores contained in that processor form a NUMA node.

NUMA node memory

Memory that is on the same node as the CPU currently running the thread.

Socket

A collection of cores with a direct pipe to memory. Each socket contains 1 or more cores. This does not necessarily refer to a physical socket, but rather to the memory architecture of the machine.

Core

A single entity capable of performing computations.

Thread

The physical ID of each thread on the core, assuming the core is enabled for multithreading

A node contains sockets, a socket contains cores, and a core can contain threads if the core is enabled for multithreading.

If no NUMA nodes are present, then the NUMA layer in the output is not shown. Host, socket, core and thread are still shown.

-h

Outputs command usage and exits.

-V

Outputs product version and exits.

Files

ego.conf

The LIM reads the configuration file ego.confto retrieve configuration information. The ego.conf file is a generic configuration file shared by all daemons/services and clients. It contains configuration information and other information that dictates the behavior of the software.

Some of the parameters LIM retrieves from ego.conf are as follows:

EGO_LIM_PORT

The TCP port the LIM uses to serve all applications.

EGO_SERVERDIR

The directory used for reconfiguring the LIM, where the LIM binary is stored.

EGO_LOGDIR

The directory used for message logs.

EGO_LOG_MASK

The log level used to determine the amount of detail logged.

EGO_DEBUG_LIM

The log class setting for LIM.

EGO_ENTITLEMENT_FILE

The full path to and name of the entitlement file.

EGO_DEFINE_NCPUS
Defines whether ncpus is to be defined as procs, cores, or threads. This parameter overrides LSF_ENABLE_DUALCORE. If EGO_ENABLE_DUALCORE is set, EGO_DEFINE_NCPUS settings take precedent.
  • procs (if ncpus defined as procs, then ncpus = nprocs)cores (if ncpus defined as cores, then ncpus = nprocs x ncores)
  • threads (if ncpus defined as threads, then ncpus = nprocs x ncores x nthreads)
Note: When EGO_DEFINE_NCPUS is set, run queue-length values (r1* values returned by lsload) are automatically normalized based on the set value. If EGO_DEFINE_NCPUS is not defined, but EGO_ENABLE_DUALCORE is set, the LIM reports the number of cores. If both EGO_DEFINE_NCPUS and LSF_ENABLE_DUALCORE are set, then the EGO parameter takes precedence.
EGO_ENABLE_DUALCORE

Defines if the hosts have dual cores or not. Is overridden by EGO_DEFINE_NCPUS, if set.

Note: If EGO_DEFINE_NCPUS is not defined, but EGO_ENABLE_DUALCORE is set, the LIM reports the number of cores. If both EGO_DEFINE_NCPUS and LSF_ENABLE_DUALCORE are set, then the EGO parameter takes precedence.

Customization

You can customize the LIM by changing configuration files in EGO_CONFDIR directory. Configure ego.cluster.cluster_name to define various cluster properties such as the resources on individual hosts, the load threshold values for a host, and so on. Configure ego.shared to define host models read by the LIM, or the CPU factor of individual hosts.