This version of GitHub Enterprise will be discontinued on This version of GitHub Enterprise was discontinued on 2020-05-23. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Article version: Enterprise Server 2.17

Increasing CPU or memory resources

To add CPU or memory resources to an existing GitHub Enterprise Server instance, shut down the instance and use the underlying virtual platform's tools to allocate the resources to the virtual machine. The newly allocated resources are automatically recognized on boot and no additional configuration is necessary.

In this article

Warning: The process for allocating new system resources varies by virtualization platform and resource type. You should always configure the monitoring and alerting of key system resources. For more information, see "Monitoring your GitHub Enterprise Server appliance."

Adding CPU or memory resources for AWS

Note: To add CPU or memory resources for AWS, you must be familiar with using either the AWS management console or the aws ec2 command line interface to manage EC2 instances. For background and details on using the AWS tools of your choice to perform the resize, see the AWS documentation on resizing an Amazon EBS-backed instance.

Resizing considerations

Before increasing CPU or memory resources for your GitHub Enterprise Server instance:

  • Scale your memory with CPUs

    When increasing CPU resources, it's recommended to add at least 6.5 GB of memory for each CPU (up to 16 CPUs) added to your GitHub Enterprise Server instance. When you use more than 16 CPUs, you don't need to add 6.5 GB of memory for each CPU, but you should monitor your instance to ensure it has enough memory.

  • Verify that an Elastic IP is assigned to the instance

    If an Elastic IP isn't assigned, you'll have to adjust the DNS A records for your GitHub Enterprise Server host after the restart to account for the change in public IP address. Once your instance restarts, the Elastic IP (EIP) is automatically retained if the instance is launched into a VPC. If the instance is launched into EC2-Classic, the Elastic IP must be manually re-associated.

Supported AWS instance types

You need to determine the instance type you would like to upgrade to based on CPU/memory specifications. GitHub Enterprise Server is supported on the following EC2 instance types. For more information, see the AWS EC2 instance type overview page.

EC2 instance typeModel
C3c3.2xlarge, c3.4xlarge, c3.8xlarge
EC2 instance typeModel
C4c4.2xlarge, c4.4xlarge, c4.8xlarge
EC2 instance typeModel
C5c5.large, c5.xlarge, c5.2xlarge, c5.4xlarge, c5.9xlarge, c5.18xlarge
EC2 instance typeModel
M3m3.xlarge, m3.2xlarge
EC2 instance typeModel
M4m4.xlarge, m4.2xlarge, m4.4xlarge, m4.10xlarge, m4.16xlarge
EC2 instance typeModel
M5m5.large, m5.xlarge, m5.2xlarge, m5.4xlarge, m5.12xlarge, m5.24xlarge
EC2 instance typeModel
R4r4.large, r4.xlarge, r4.2xlarge, r4.4xlarge, r4.8xlarge, r4.16xlarge
EC2 instance typeModel
R5r5.large, r5.xlarge, r5.2xlarge, r5.4xlarge, r5.12xlarge, r5.24xlarge
EC2 instance typeModel
X1x1.16xlarge, x1.32xlarge

Based on your user license count, we recommend the following instance types.

User licenseRecommended type
Trial, demo, or 10 light usersr4.large
10 - 3000r4.xlarge
3000 - 5000r4.2xlarge
5000 - 8000r4.4xlarge
8000 - 10000+r4.8xlarge

Note: You can always scale up your CPU or memory by resizing your instance. However, because resizing your CPU or memory requires downtime for your users, we recommend over-provisioning resources to account for scale.

Resizing for AWS

Note: For instances launched in EC2-Classic, write down both the Elastic IP address associated with the instance and the instance's ID. Once you restart the instance, re-associate the Elastic IP address.

It's not possible to add CPU or memory resources to an existing AWS/EC2 instance. Instead, you must:

  1. Stop the instance.
  2. Change the instance type.
  3. Start the instance.
  4. Once the instance has fully restarted and you can reach it, use the SSH administrative shell to verify that the new resource configuration is recognized:
    $ ssh -p 122 admin@HOSTNAME
    $ ghe-system-info

Adding CPU or memory resources for OpenStack KVM

It's not possible to add CPU or memory resources to an existing OpenStack KVM instance. Instead, you must:

  1. Take a snapshot of the current instance.
  2. Stop the instance.
  3. Select a new instance flavor that has the desired CPU and/or memory resources.

Adding CPU or memory resources for VMWare

If operations on your GitHub Enterprise Server instance are slow, you may need to add CPU or memory resources.

When increasing CPU resources, it's recommended to add at least 6.5 GB of memory for each CPU (up to 16 CPUs) added to your GitHub Enterprise Server instance. When you use more than 16 CPUs, you don't need to add 6.5 GB of memory for each CPU, but you should monitor your instance to ensure it has enough memory.

  1. Use the vSphere Client to connect to the VMware ESXi host.
  2. Shut down your GitHub Enterprise Server instance.
  3. Select the virtual machine and click Edit Settings.
  4. Under "Hardware", adjust the CPU and/or memory resources allocated to the virtual machine as needed:
    VMware setup resources
  5. To start the virtual machine, click OK.
  6. Once the instance has fully restarted and you can reach it, use the SSH administrative shell to verify that the new resource configuration is recognized:
    $ ssh -p 122 admin@HOSTNAME
    $ ghe-system-info

Ask a human

Can't find what you're looking for?

Contact us