lim
Load information manager (LIM), monitoring host load.
Synopsis
lim [-d conf_dir] [-debug_level]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.
- 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.
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 bylsload
) 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.