Storage usage quota

Storage usage statistics are available for projects and namespaces. You can use that information to manage storage usage within the applicable quotas.

Statistics include:

  • Storage usage across projects in a namespace.
  • Storage usage that exceeds the storage quota.
  • Available purchased storage.

View storage usage

Prerequisites:

  • To view storage usage for a project, you must have at least the Maintainer role for the project or Owner role for the namespace.
  • To view storage usage for a namespace, you must have the Owner role for the namespace.
  1. Go to your project or namespace:
    • For a project, on the top bar, select Main menu > Projects and find your project.
    • For a namespace, enter the URL in your browser’s toolbar.
  2. From the left sidebar, select Settings > Usage Quotas.
  3. Select the Storage tab.

Select any title to view details. The information on this page is updated every 90 minutes.

If your namespace shows 'Not applicable.', push a commit to any project in the namespace to recalculate the storage.

Storage usage statistics

Version history
  • Introduced project-level graph in GitLab 14.4 with a flag named project_storage_ui. Disabled by default.
  • Enabled on GitLab.com in GitLab 14.4.
  • Enabled on self-managed in GitLab 14.5.
  • Feature flag removed in GitLab 14.5.

The following storage usage statistics are available to a maintainer:

  • Total namespace storage used: Total amount of storage used across projects in this namespace.
  • Total excess storage used: Total amount of storage used that exceeds their allocated storage.
  • Purchased storage available: Total storage that has been purchased but is not yet used.

Manage your storage usage

To manage your storage, if you are a namespace Owner you can purchase more storage for the namespace.

Depending on your role, you can also use the following methods to manage or reduce your storage:

Manage your transfer usage

Depending on your role, to manage your transfer usage you can reduce Container Registry data transfers.

Project storage limit

Projects on GitLab SaaS have a 10 GB storage limit on their Git repository and LFS storage. After namespace-level storage limits are applied, the project limit is removed. A namespace has either a namespace-level storage limit or a project-level storage limit, but not both.

When a project’s repository and LFS reaches the quota, the project is locked. You cannot push changes to a locked project. To monitor the size of each repository in a namespace, including a breakdown for each project, view storage usage. To allow a project’s repository and LFS to exceed the free quota you must purchase additional storage. For more details, see Excess storage usage.

Excess storage usage

Excess storage usage is the amount that a project’s repository and LFS exceeds the project storage limit. If no purchased storage is available the project is locked. You cannot push changes to a locked project. To unlock a project you must purchase more storage for the namespace. When the purchase is completed, locked projects are automatically unlocked. The amount of purchased storage available must always be greater than zero.

The Storage tab of the Usage Quotas page warns you of the following:

  • Purchased storage available is running low.
  • Projects that are at risk of being locked if purchased storage available is zero.
  • Projects that are locked because purchased storage available is zero. Locked projects are marked with an information icon (note) beside their name.

Excess storage example

The following example describes an excess storage scenario for a namespace:

Repository Storage used Excess storage Quota Status
Red 10 GB 0 GB 10 GB Locked
Blue 8 GB 0 GB 10 GB Not locked
Green 10 GB 0 GB 10 GB Locked
Yellow 2 GB 0 GB 10 GB Not locked
Totals 30 GB 0 GB - -

The Red and Green projects are locked because their repositories and LFS have reached the quota. In this example, no additional storage has yet been purchased.

To unlock the Red and Green projects, 50 GB additional storage is purchased.

Assuming the Green and Red projects’ repositories and LFS grow past the 10 GB quota, the purchased storage available decreases. All projects remain unlocked because 40 GB purchased storage is available: 50 GB (purchased storage) - 10 GB (total excess storage used).

Repository Storage used Excess storage Quota Status
Red 15 GB 5 GB 10 GB Not locked
Blue 14 GB 4 GB 10 GB Not locked
Green 11 GB 1 GB 10 GB Not locked
Yellow 5 GB 0 GB 10 GB Not locked
Totals 45 GB 10 GB - -

Namespace storage limit

Namespaces on GitLab SaaS have a storage limit. For more information, see our pricing page. This limit is not visible on the Usage quotas page, but is prior to the limit being applied. Self-managed deployments are not affected.

Storage types that add to the total namespace storage are:

  • Git repository
  • Git LFS
  • Artifacts
  • Container registry
  • Package registry
  • Dependency proxy
  • Wiki
  • Snippets

If your total namespace storage exceeds the available namespace storage quota, all projects under the namespace become read-only. Your ability to write new data is restricted until the read-only state is removed. For more information, see Restricted actions.

To notify you that you have nearly exceeded your namespace storage quota:

  • In the command line interface, a notification displays after each git push action when you’ve reached 95% and 100% of your namespace storage quota.
  • In the GitLab UI, a notification displays when you’ve reached 75%, 95%, and 100% of your namespace storage quota.
  • GitLab sends an email to members with the Owner role to notify them when namespace storage usage is at 70%, 85%, 95%, and 100%.

To prevent exceeding the namespace storage quota, you can:

Namespace storage limit application schedule

Information on when namespace-level storage limits are applied is available on these FAQ pages for the Free and Paid tier.