Configure an alert to notify you of system resource issues before they affect your GitHub Enterprise appliance's performance.
We recommend that you monitor both the root and user storage devices and configure an alert with values that allow for ample response time when available disk space is low:
|Warning||Disk use exceeds 70% of total available|
|Critical||Disk use exceeds 85% of total available|
You can adjust these values based on the total amount of storage allocated, historical growth patterns, and expected time to respond. We recommend over-allocating storage resources to allow for growth and prevent the downtime required to allocate additional storage.
Monitoring CPU and load average usage
Although it is normal for CPU usage to fluctuate based on resource-intense Git operations, we recommend configuring an alert for abnormally high CPU utilization, as prolonged spikes can mean your instance is under-provisioned. We recommend monitoring the fifteen minute system load average for values nearing or exceeding the number of CPU cores allocated to the virtual machine:
|Warning||Fifteen minute load average exceeds 1x CPU cores.|
|Critical||Fifteen minute load average exceeds 2x CPU cores.|
For example, a virtual machine with 4 vCPUs would reflect these thresholds:
|Warning||Fifteen minute load average exceeds 4|
|Critical||Fifteen minute load average exceeds 8|
We also recommend that you monitor virtualization "steal" time to ensure that other virtual machines running on the same host system are not using all of the instance's resources.
Monitoring memory usage
The amount of physical memory allocated to your GitHub Enterprise instance can have a large impact on overall performance and application responsiveness. The system is designed to make heavy use of the kernel disk cache to speed up Git operations. We recommend that the normal RSS working set fit within 50% of total available RAM at peak usage:
|Warning||Sustained RSS usage exceeds 50% of total available memory.|
|Critical||Sustained RSS usage exceeds 70% of total available memory.|
Your GitHub Enterprise instance uses a swap partition for low memory conditions. If memory is exhausted, the kernel OOM killer will attempt to free memory resources by forcibly killing RAM heavy application processes, which could result in a disruption of service. We recommend allocating more memory to the virtual machine than is required in the normal course of operations.