This document lists the quotas and system limits that apply to Cloud Shell.
- Quotas specify the amount of a countable, shared resource that you can use. Quotas are defined by Google Cloud services such as Cloud Shell.
- System limits are fixed values that cannot be changed.
Google Cloud uses quotas to help ensure fairness and reduce spikes in resource use and availability. A quota restricts how much of a Google Cloud resource your Google Cloud project can use. Quotas apply to a range of resource types, including hardware, software, and network components. For example, quotas can restrict the number of API calls to a service, the number of load balancers used concurrently by your project, or the number of projects that you can create. Quotas protect the community of Google Cloud users by preventing the overloading of services. Quotas also help you to manage your own Google Cloud resources.
The Cloud Quotas system does the following:
- Monitors your consumption of Google Cloud products and services
- Restricts your consumption of those resources
- Provides a way to request changes to the quota value
In most cases, when you attempt to consume more of a resource than its quota allows, the system blocks access to the resource, and the task that you're trying to perform fails.
Quotas generally apply at the Google Cloud project level. Your use of a resource in one project doesn't affect your available quota in another project. Within a Google Cloud project, quotas are shared across all applications and IP addresses.
There are also system limits on Cloud Shell resources. System limits can't be changed.
To adjust most quotas, use the Google Cloud console. For more information, see Request a quota adjustment.
Usage quotas
The default weekly Cloud Shell quota is 50 hours.
Viewing your weekly Cloud Shell quota
If you reach your quota, you'll need to wait until the date and time specified before you can use Cloud Shell again or check with your Cloud Shell administrator to increase your quota.
To view your weekly quota:
- Click Session information and then click Usage quota. A dialog appears and displays the hours remaining in your quota, the total number of hours in your quota, and the date and time that the quota resets.
Requesting a quota increase
We strongly recommend upgrading to Cloud Workstations, which does not have weekly usage limitations. Cloud Workstations lets you customize, rightsize and secure your development environment. Upgrade to Cloud Workstations for managed secure development environments provisioned in your VPC without usage limits.
Cloud Shell quota can be increased only in certain cases and must go through a customer support request. Cloud Shell quota cannot be updated using the Google Cloud console. To request a quota increase, contact Cloud Customer Care (not Billing).
If your quota increase request requires approval, you can expect to receive an email from Google Cloud acknowledging receipt of your request. You can respond to this email if you need further assistance. Cloud Customer Care processes your request, typically within 2-3 business days, and then sends you a second email notifying you whether the quota increase was approved or denied. The email provides the effective date of the increase, if applicable.
For more about the quota increase process, see About quota increase requests.
Cloud Shell inactivity
To prevent your $HOME
directory from being deleted due to inactivity for 120
days, start a session. For sensitive data you want to store long term, consider
a different solution on Cloud Storage.
Non-interactive usage
Cloud Shell is intended for interactive use only. Non-interactive sessions are ended automatically after 40 minutes. Cloud Shell sessions are capped at 12 hours, after which sessions automatically terminate. You can start a new session immediately after.
Restoring a session after a service limit violation
If your session is terminated or can't be established because you exceeded a service limit, Cloud Shell displays an error with a link to a form that allows you to appeal the limit violation. Click the feedback link and submit the form with more information about the tasks you were performing before your session was terminated.
Limitations and restrictions
Custom installed software packages and persistence
The virtual machine instance that backs your Cloud Shell session
isn't permanently allocated to a Cloud Shell session and terminates
if the session is inactive for 20 minutes. After the instance is terminated, any
modifications that you made to it outside your $HOME
are lost.
To have your configurations persist across sessions, consider customizing your environment.
Users younger than 18 or whose age is unknown
Cloud Shell isn't available to users younger than 18 or whose age is unknown. By default, Google Workspace for Education blocks access to Cloud Shell for all users. If your institution has students older than 18 who you want to have access to age-restricted services including Cloud Shell, see Control access to Google services by age for steps to identify users who are 18 years or older.
Cloud Shell Editor extensions
Cloud Shell Editor does not support the installation of custom editor extensions. However, the Cloud Shell Editor comes with a set of essential extensions already installed and kept up-to-date.
.bashrc
content
Cloud Shell can produce errors if the .bashrc
file is modified or
deleted. The .bashrc
file must contain the following lines:
if [ -f "/google/devshell/bashrc.google" ]; then source "/google/devshell/bashrc.google" fi
gcloud
output formatting
By default, Cloud Shell enables
gcloud
accessibility features.
With accessibility features enabled, gcloud
table output
is rendered as a flattened list of items.
To restore the default behavior of boxed tables for many commands, append
the following command to the end of your $HOME/.bashrc
file:
gcloud config set accessibility/screen_reader false
Slow connection performance
Connecting to a Cloud Shell for the first time involves creating your home disk and can currently take up to 25 seconds. Subsequent connections to existing virtual machine instances take about five seconds. However, if you haven't used Cloud Shell for a week, connection performance will be slower since the home directory is restored from an archive.
Cloud Shell also offers Ephemeral mode which is the Cloud Shell experience without persistent disk storage. Ephemeral mode offers faster connection performance but all the files you create in your session are lost on session end.
Browser support
Cloud Shell supports the latest versions of Google Chrome, Mozilla Firefox, Microsoft Edge, Microsoft Internet Explorer 11+, and Apple Safari 8+. Safari in private browser mode is not supported.
Private browsing and disabled third-party cookies
The Cloud Shell Editor can't load in Cloud Shell if third-party cookies are disabled. Some browsers have third-party cookies disabled by default and most browsers' Incognito or Private Browser modes block these cookies as well.
With third-party cookies disabled, you can still use the Cloud Shell Editor in its own window by clicking the Open in New Window button accessible when you open an editor session .
Alternatively, you can navigate to port 970 using the Web Preview .
Tip: If you're using Google Chrome, you can enable third-party cookies by clicking the Third-party cookie blocking icon in your address bar , selecting Site not working?, clicking Allow cookies, and reloading your page.
Disk storage
Cloud Shell provisions 5 GB of free
persistent disk storage mounted as
your $HOME
directory on the virtual machine instance. This storage is on
a per-user basis and is available across projects. All files you store in your
home directory, including installed software, scripts, and user configuration
files like .bashrc
and .vimrc
, persist between sessions and count towards
the 5 GB limit.
Clearing disk space
If you encounter a no space left on device
error, free up space by
removing files from your home directory using the Cloud Shell
terminal. Use the du -hs $(ls -A)
command to see the space each file uses within each sub-directory. Consider removing those that are no longer needed or take up a large chunk of storage.