IMSTAT Procedure (Data and Server Management)

SERVERPARM Statement

The SERVERPARM statement enables you to change some global settings for the server if you have sufficient authorization. The user account that starts the server has privileges to modify server parameters.

Syntax

SERVERPARM <options>;

SERVERPARM Statement Options

CONCURRENT=number

specifies the number of concurrent requests that can execute in the server. Once the threshold is met, the requests are queued and then executed as the currently running requests complete.

Alias NACTIONS=
Default 20

EXTERNALMEM=pct

specifies the percentage of memory that can be allocated before the server stops transferring data to external processes such as external actions and the SAS High-Performance Analytics procedures. If the percentage is exceeded, the server stops transferring data.

Default 75

HADOOPHOME="path"

specifies the path for the HADOOP_HOME environment variable. Changing this variable is useful for migrating SASHDAT files from one Hadoop installation to another.

Setting the HADOOP_HOME environment variable is a server-wide change. All requests, by all users, for reading files from HDFS and saving files, use the specified HADOOP_HOME. This can cause unexpected results if users are not aware of the change.
Note: If you are using this option to migrate SASHDAT files, then consider starting a server for that exclusive purpose.
Alias HADOOP=

HOST="host-name"

specifies the host name for the SAS LASR Analytic Server. Use this option with the PORT= option.

PORT=number

specifies the port number for the SAS LASR Analytic Server. If you do not specify a PORT= value, then behavior of the SERVERPARM statement depends on whether an in-memory table is active. If there is no active table, then the procedure attempts to connect to the server using the LASRPORT macro variable. If a table is active, the information is gathered for the server that is implied by the libref of the active table.

TABLECEILING=n M | G

specifies a process virtual memory limit (in megabytes or gigabytes) for the server. After the limit is met, adding tables and appending rows to tables is rejected by the server. This option provides a soft limit that enables the server to continue to function in a restricted way. Memory use might increase above the setting if the server requires memory to perform an analysis. However, new data, including temporary tables, cannot be added to the server. The limit applies to all virtual memory used by the server, not just the virtual memory that is used by tables. Setting the value to zero removes the limit.

This option has no effect for non-distributed servers. For non-distributed servers, you can specify a virtual memory size limit with the MEMSIZE system option.
Default Unlimited
Applies to Distributed SAS LASR Analytic Server

TABLEMEM=pct

specifies the percentage of memory that can be allocated before the server rejects requests to add tables or append data. If the percentage is exceeded, adding a table or appending rows to tables fails. These operations continue to fail until the percentage is reset or the memory usage on the server drops below the threshold.

This option has no effect for non-distributed servers. For non-distributed servers, the memory limits can be controlled with the MEMSIZE system option.
Note: The specified pct value does not specify the percentage of memory allocated to in-memory tables. It is the percentage of all memory used by the entire machine that—if exceeded—prevents further addition of data to the server. The memory used is not measured at the process or user level, it is computed for the entire machine. In other words, if operating system processes allocate a lot of memory, then loading tables into the server might fail. The threshold is not affected by memory that is associated with SASHDAT tables that are loaded from HDFS.
Alias MEMLOAD=
Default 75

TEMPNAMES=YES | NO

specifies whether the server writes the full name of temporary tables to the server log file (TEMPNAMES=YES) or whether the names are masked (TEMPNAMES=NO). Because the name of the temporary table provides access to the table, the server does not display the full names of temporary tables, by default.

This option can be useful if you need to debug a series of requests that use temporary tables as input. By changing the handling of temporary names with TEMPNAMES=YES, you can see the full temporary table names in the log file.