Processes running in ExtremeXOS are grouped into “EXOS” (ExtremeXOS) and “Other” (non-ExtremeXOS) process control groups. The “EXOS” (ExtremeXOS) group includes all the ExtremeXOS infrastructure, network services, protocols, configuration and network management processes. The “Other” (non-ExtremeXOS) groups include all the processes created through CLI, and scripts executed in ExtremeXOS shell. Both these groups are capped with memory and CPU limits as a percentage of the total available memory and CPU resources in the system. Both groups get a guaranteed share of memory and CPU access up to that limit.
A user-created process automatically is classified as being in the "Other" group. The “EXOS” group has, by default, 95% of the system memory and 90% of the system CPU resources. In contrast, the “Other” group has a default memory limit of 5% and a default CPU limit of 10%, both configurable to a certain extent through CLI. This provides a level of segregation where processes in one group cannot significantly impact processes running in another group.
When there is no resource contention, the process groups are not required to be limited under the CPU limit. The way the CPU resources are managed during resource contention in a switch varies depending on the platform type, and is based on which processes are running in real-time.
Note
Increasing the memory or CPU limit of the "Other" group impacts the total available memory or CPU resources of the "EXOS" group. These commands need to be used with careful consideration of the resource requirements in real-time.When these commands are issued, the CPU and memory limits for the "EXOS" (ExtremeXOS) group are changed as well.
To clear the user-configured memory and CPU limits and restore default settings, use the following command:
unconfigure process group
To clear the memory- and CPU-related statistics of “EXOS” and/or “Other” groups, use the following command:
clear process group statistics {vital | other}
To show the configured settings and statistics for the process control groups, use the following command:
show process group {[vital | other]}