| <!DOCTYPE html> |
| <html> |
| <head> |
| <meta charset="utf-8"> |
| <meta http-equiv="X-UA-Compatible" content="IE=edge"> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta name="description" content=""> |
| <meta name="keywords" content=", "> |
| <title>Calculating Che resource requirements | Eclipse Che Documentation</title> |
| <link rel="stylesheet" href="/che/docs/css/syntax.css"> |
| <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" crossorigin="anonymous"> |
| <!--<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">--> |
| <link rel="stylesheet" href="/che/docs/css/modern-business.css"> |
| <!-- Latest compiled and minified CSS --> |
| <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> |
| <link rel="stylesheet" href="/che/docs/css/customstyles.css"> |
| <link rel="stylesheet" href="/che/docs/css/boxshadowproperties.css"> |
| <!-- most color styles are extracted out to here --> |
| <link rel="stylesheet" href="/che/docs/css/theme-che.css"> |
| |
| |
| <link rel="stylesheet" href="/che/docs/css/coderay.css" media="screen" type="text/css"> |
| <link rel="stylesheet" href="/che/docs/css/asciidoc.css" type="text/css"> |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.4/jquery.min.js" crossorigin="anonymous"></script> |
| |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js" crossorigin="anonymous"></script> |
| <script src="/che/docs/js/jquery.navgoco.min.js"></script> |
| |
| |
| <!-- Latest compiled and minified JavaScript --> |
| <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> |
| <!-- Anchor.js --> |
| <script src="https://cdnjs.cloudflare.com/ajax/libs/anchor-js/2.0.0/anchor.min.js" crossorigin="anonymous"></script> |
| <script src="/che/docs/js/toc.js"></script> |
| <script src="/che/docs/js/customscripts.js"></script> |
| |
| <link rel="shortcut icon" href="/che/docs/images/favicon.ico"> |
| |
| <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> |
| <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> |
| <!--[if lt IE 9]> |
| <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script> |
| <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script> |
| <![endif]--> |
| |
| <link rel="alternate" type="application/rss+xml" title="che" href="/feed.xml"> |
| |
| <script> |
| $(document).ready(function() { |
| // Initialize navgoco with default options |
| $("#mysidebar").navgoco({ |
| caretHtml: '', |
| accordion: false, |
| openClass: 'active', // open |
| save: false, // leave false or nav highlighting doesn't work right |
| cookie: { |
| name: 'navgoco', |
| expires: false, |
| path: '/' |
| }, |
| slide: { |
| duration: 400, |
| easing: 'swing' |
| } |
| }); |
| |
| $("#collapseAll").click(function(e) { |
| e.preventDefault(); |
| $("#mysidebar").navgoco('toggle', false); |
| }); |
| |
| $("#expandAll").click(function(e) { |
| e.preventDefault(); |
| $("#mysidebar").navgoco('toggle', true); |
| }); |
| |
| }); |
| |
| </script> |
| <script> |
| $(function () { |
| $('[data-toggle="tooltip"]').tooltip() |
| }) |
| </script> |
| <script> |
| $(document).ready(function() { |
| $("#tg-sb-link").click(function() { |
| $("#tg-sb-sidebar").toggle(); |
| $("#tg-sb-content").toggleClass('col-md-9'); |
| $("#tg-sb-content").toggleClass('col-md-12'); |
| $("#tg-sb-icon").toggleClass('fa-toggle-on'); |
| $("#tg-sb-icon").toggleClass('fa-toggle-off'); |
| }); |
| }); |
| </script> |
| |
| |
| </head> |
| <body> |
| <!-- Navigation --> |
| <nav class="navbar navbar-inverse navbar-static-top"> |
| <div class="container topnavlinks"> |
| <div class="navbar-header"> |
| <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1"> |
| <span class="sr-only">Toggle navigation</span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| <a class="fa fa-home fa-lg navbar-brand" href="/che/docs/"> <span class="projectTitle"> Eclipse Che Documentation</span></a> |
| </div> |
| <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> |
| <ul class="nav navbar-nav navbar-right"> |
| <!-- toggle sidebar button --> |
| <li><a id="tg-sb-link" href="#"><i id="tg-sb-icon" class="fa fa-toggle-on"></i> Nav</a></li> |
| <!-- entries without drop-downs appear here --> |
| |
| |
| |
| |
| |
| |
| |
| <li><a href="https://medium.com/eclipse-che-blog/" target="_blank">Blog</a></li> |
| |
| |
| |
| <li><a href="https://github.com/eclipse/che" target="_blank">Source Code</a></li> |
| |
| |
| |
| <!-- entries with drop-downs appear here --> |
| <!-- conditional logic to control which topnav appears for the audience defined in the configuration file.--> |
| |
| |
| <li class="dropdown"> |
| <a href="#" class="dropdown-toggle" data-toggle="dropdown">Get Support<b class="caret"></b></a> |
| <ul class="dropdown-menu"> |
| |
| |
| <li><a href="https://github.com/eclipse/che/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3Akind%2Fbug" target="_blank">Known Bugs</a></li> |
| |
| |
| |
| <li><a href="https://github.com/eclipse/che/issues/new" target="_blank">File an Issue</a></li> |
| |
| |
| |
| <li><a href="https://stackoverflow.com/questions/tagged/eclipse-che" target="_blank">Che on StackOverflow</a></li> |
| |
| |
| </ul> |
| </li> |
| |
| |
| <!-- |
| <li> |
| |
| |
| |
| <a class="email" title="Submit feedback" href="#" onclick="javascript:window.location='mailto:?subject= feedback&body=I have some feedback about the Calculating Che resource requirements page: ' + window.location.href;"><i class="fa fa-envelope-o"></i> Feedback</a> |
| |
| </li> |
| --> |
| |
| <!--comment out this block if you want to hide search--> |
| <li> |
| <!--start search--> |
| <div id="search-demo-container"> |
| <input type="text" id="search-input" placeholder="search..."> |
| <ul id="results-container"></ul> |
| </div> |
| <script src="/che/docs/js/jekyll-search.js" type="text/javascript"></script> |
| <script type="text/javascript"> |
| SimpleJekyllSearch.init({ |
| searchInput: document.getElementById('search-input'), |
| resultsContainer: document.getElementById('results-container'), |
| dataSource: "/che/docs/search.json", |
| searchResultTemplate: '<li><a href="{url}" title="Calculating Che resource requirements">{title}</a></li>', |
| noResultsText: 'No results found.', |
| limit: 10, |
| fuzzy: true, |
| }) |
| </script> |
| <!--end search--> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <!-- /.container --> |
| </nav> |
| |
| <!-- Page Content --> |
| <div class="container"> |
| <div id="main"> |
| <!-- Content Row --> |
| <div class="row"> |
| |
| |
| <!-- Sidebar Column --> |
| <div class="col-md-3" id="tg-sb-sidebar"> |
| |
| |
| <ul id="mysidebar" class="nav"> |
| <li class="sidebarTitle"> </li> |
| |
| <div class="sidebarSubtitle">Overview</div> |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/introduction-to-eclipse-che">Introduction to Che</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Che quick-starts</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-quick-starts">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/installing-the-chectl-management-tool">Installing the chectl management tool</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/running-che-locally">Running Che locally</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/deploying-che-on-kubernetes-on-aws">Che on Amazon Web Services</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/installing-che-on-openshift-3-using-the-operator">Che on OpenShift 3</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/installing-che-on-openshift-4-from-operatorhub">Che on OpenShift 4</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/installing-che-on-google-cloud-platform">Che on Google Cloud Platform</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/installing-eclipse-che-on-microsoft-azure">Che on Microsoft Azure</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/accessing-che-from-openshift-developer-perspective">Accessing Che from OpenShift Developer Perspective</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/hosted-che">Hosted Che</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Che architecture</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-architecture">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/high-level-che-architecture">High-level Che architecture</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-workspace-controller">Che workspace controller</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-workspaces-architecture">Che workspaces architecture</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <div class="sidebarSubtitle">End-user Guide</div> |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/navigating-che-using-the-dashboard">Navigating Che: dashboard</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Che-Theia IDE basics</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-theia-ide-basics">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/defining-custom-commands-for-che-theia">Defining custom commands for Che-Theia</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/version-control">Version Control</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-theia-troubleshooting">Che-Theia Troubleshooting</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Using developer workspaces</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/workspaces-overview">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/configuring-a-workspace-using-a-devfile">Configuring a workspace using a devfile</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/making-a-workspace-portable-using-a-devfile">Making a workspace portable using a devfile</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/converting-a-che-6-workspace-to-a-che-7-devfile">Converting a Che 6 Workspace to a Che 7 devfile</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/creating-and-configuring-a-new-che-7-workspace">Creating and configuring a new Che 7 workspace</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/importing-a-kubernetes-application-into-a-che-workspace">Importing a Kubernetes application into a Che workspace</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/remotely-accessing-che-workspaces">Remotely accessing workspaces</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/creating-a-workspace-from-code-sample">Creating a workspace from code sample</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/creating-a-workspace-by-importing-source-code-of-a-project">Creating a workspace by importing source code of a project</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/configuring-workspace-exposure-strategies">Configuring workspace exposure strategies</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Customizing developer environments</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/customizing-developer-environments">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/what-is-a-che-theia-plug-in">What is a Che-Theia plug-in</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-alternative-ides-in-che">Using alternative IDEs in Che</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-a-visual-studio-code-extension-in-che">Using a VS Code extension in Che</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/adding-tools-to-che-after-creating-a-workspace">Adding tools to Che after creating a workspace</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Configuring OAuth authorization</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/configuring-oauth-authorization">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/configuring-github-oauth">Configuring GitHub OAuth</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/configuring-openshift-oauth">Configuring OpenShift OAuth</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Using artifact repositories in a restricted environment</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-artifact-repositories-in-a-restricted-environment">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-maven-artifact-repositories">Using Maven artifact repositories</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-gradle-artifact-repositories">Using Gradle artifact repositories</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-python-artifact-repositories">Using Python artifact repositories</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-go-artifact-repositories">Using Go artifact repositories</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-nuget-artifact-repositories">Using NuGet artifact repositories</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-npm-artifact-repositories">Using npm artifact repositories</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/troubleshooting-for-che-end-users">Troubleshooting for Che end users</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <div class="sidebarSubtitle">Installation Guide</div> |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/installing-che-in-restricted-environment">Installing Che in restricted environment</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/upgrading-che">Upgrading Che</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/advanced-configuration-options">Advanced configuration options</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/uninstalling-che">Uninstalling Che</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <div class="sidebarSubtitle">Administration Guide</div> |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Customizing devfile and plug-in registries</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/customizing-the-devfile-and-plug-in-registries">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/building-and-running-a-custom-registry-image">Building and running a custom registry image</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/including-the-plug-in-binaries-in-the-registry-image">Including the plug-in binaries in the registry image</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/editing-a-devfile-and-plug-in-at-runtime">Editing a devfile and plug-in at runtime</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/configuring-system-variables">Configuring system variables</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Retrieving Che logs</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/retrieving-che-logs">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/viewing-kubernetes-events">Accessing Kubernetes events on OpenShift</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/viewing-che-server-logs">Viewing Che server logs</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/viewing-external-service-logs">Viewing external service logs</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/viewing-che-workspaces-logs">Viewing Che workspaces logs</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/viewing-plug-in-broker-logs">Viewing Plug-in broker logs</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/collecting-logs-using-chectl">Collecting logs using chectl</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/monitoring-che">Monitoring Che</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/tracing-che">Tracing Che</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Managing users</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/managing-users">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/configuring-authorization">Configuring authorization</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/using-organizations">Using organizations</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/removing-user-data">Removing user data</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Securing Che</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/securing-che">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/authenticating-users">Authenticating users</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/authorizing-users">Authorizing users</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Backup and disaster recovery</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/backup-and-disaster-recovery">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/external-database-setup">External database setup</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/persistent-volumes-backups">Persistent Volumes backups</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/calculating-che-resource-requirements">Calculating Che resource requirements</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/caching-images-for-faster-workspace-start">Caching images for faster workspace start</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <div class="sidebarSubtitle">Contributor Guide</div> |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/installing-che-in-tls-mode-with-self-signed-certificates">Installing Che in TLS mode with self-signed certificates</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/branding-che-theia">Branding Che-Theia</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/developing-che-theia-plug-ins">Developing Che-Theia plug-ins</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/testing-che-theia-plug-ins">Testing Che-Theia plug-ins</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/publishing-che-theia-plug-ins">Publishing Che-Theia plug-ins</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/adding-support-for-a-new-language">Adding support for a new language</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/adding-support-for-a-new-debugger">Adding support for a new debugger</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">Che extensibility reference</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-extensibility-reference">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-extension-points">Che extension points</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/che-theia-plug-in-api">Che-Theia plug-in API</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/debug-adapter-protocol">Debug Adapter Protocol</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/language-server-protocol">Language Server Protocol</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <div class="sidebarSubtitle">Extensions</div> |
| |
| |
| <li> |
| |
| <a href="/che/docs/che-7/eclipse-che4z">Eclipse Che4z</a> |
| |
| <ul> |
| |
| </ul> |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="#" class="expandable">OpenShift Connector</a> |
| |
| <ul> |
| |
| |
| |
| <li><a href="/che/docs/che-7/openshift-connector-overview">Overview</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/features-of-openshift-connector">Features of OpenShift Connector</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/installing-openshift-connector-in-eclipse-che">Installing OpenShift Connector in Eclipse Che</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/authenticating-with-openshift-connector-from-eclipse-che">Authenticating with OpenShift Connector from Eclipse Che</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/creating-components-with-openshift-connector-in-eclipse-che">Creating Components with OpenShift Connector in Eclipse Che</a></li> |
| |
| |
| |
| |
| |
| |
| <li><a href="/che/docs/che-7/connecting-source-code-from-github-to-a-openshift-component-using-openshift-connector">Connecting source code from GitHub to a OpenShift Component</a></li> |
| |
| |
| |
| |
| </ul> |
| </li> |
| |
| |
| |
| <!-- if you aren't using the accordion, uncomment this block: --> |
| <!-- <p class="external"> |
| <a href="#" id="collapseAll">Collapse all</a> | <a href="#" id="expandAll">Expand all</a> |
| </p>--> |
| |
| </ul> |
| |
| <!-- this highlights the active parent class in the navgoco sidebar. this is critical so that the parent expands when you're viewing a page. This must appear below the sidebar code above. Otherwise, if placed inside customscripts.js, the script runs before the sidebar code runs and the class never gets inserted.--> |
| <script>$("li.active").parents('li').toggleClass("active");</script> |
| |
| </div> |
| |
| |
| |
| |
| <!-- Content Column --> |
| <div class="col-md-9" id="tg-sb-content"> |
| <div class="post-header"> |
| <h1 class="post-title-main">Calculating Che resource requirements</h1> |
| </div> |
| |
| |
| |
| <div class="post-content"> |
| |
| |
| |
| |
| |
| <!-- this handles the automatic toc. use ## for subheads to auto-generate the on-page minitoc. if you use html tags, you must supply an ID for the heading element in order for it to appear in the minitoc. --> |
| <script> |
| $( document ).ready(function() { |
| // Handler for .ready() called. |
| $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2' }); |
| /* this offset helps account for the space taken up by the floating toolbar. */ |
| $('#toc').on('click', 'a', function() { |
| var target = $(this.getAttribute('href')) |
| , scroll_target = target.offset().top |
| $(window).scrollTop(scroll_target - 10); |
| return false |
| }) |
| |
| }); |
| </script> |
| |
| <div id="toc"></div> |
| |
| |
| |
| |
| <!-- |
| |
| |
| --> |
| |
| <div id="preamble"> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to calculate resources (memory and CPU) required to run Eclipse Che.</p> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="che-architectural-components_calculating-che-resource-requirements">Che architectural components</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>As illustrated in the <a href="/che/docs/che-7/high-level-che-architecture">High-level Che architecture</a> article, Eclipse Che components are:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>A central workspace controller: an always running service that manages users workspaces</p> |
| </li> |
| <li> |
| <p>Users workspaces: container-based IDEs that the controller stops when the user stops coding.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="imageblock"> |
| <div class="content"> |
| <img src="/che/docs/images/architecture/che-high-level.png" alt="che high level"> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>Both the Che central controller and user workspaces consist of a set of containers. Those containers contribute to the resources consumption in terms of CPU and RAM limits and requests. For a detailed explanation of how Kubernetes manages container-resource requests and limits, see <a href="https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/">Kubernetes documentation</a>.</p> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="controller-requirements_calculating-che-resource-requirements">Controller requirements</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>The Workspace Controller consists of a set of five services running in five distinct containers. The following table presents the default resource requirements of each of these services.</p> |
| </div> |
| <table class="tableblock frame-all grid-all stretch"> |
| <caption class="title">Table 1. ControllerServices</caption> |
| <colgroup> |
| <col style="width: 33.3333%;"> |
| <col style="width: 33.3333%;"> |
| <col style="width: 16.6666%;"> |
| <col style="width: 16.6668%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Pod</th> |
| <th class="tableblock halign-left valign-top">Container name</th> |
| <th class="tableblock halign-left valign-top">Default memory limit</th> |
| <th class="tableblock halign-left valign-top">Default memory request</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Che Server and Dashboard</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">che</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">1 GiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">512 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">PostgreSQL</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">postgres</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">1 GiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">512 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Keycloak</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">keycloak</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">2 GiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">512 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Devfile registry</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">che-devfile-registry</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">256 MiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">16 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Plug-in registry</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">che-plugin-registry</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">256 MiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">16 MiB</p></td> |
| </tr> |
| </tbody> |
| </table> |
| <div class="paragraph"> |
| <p>These default values are sufficient when the Che Workspace Controller manages a small amount of Che workspaces. For larger deployments, increase the memory limit. See the <a href="/che/docs/che-7/advanced-configuration-options">Advanced configurations options</a> article for instructions on how to override the default requests and limits. For example, the hosted version of Che that runs on <a href="https://che.openshift.io">che.openshift.io</a> uses 4 GiB of memory.</p> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="workspaces-requirements_calculating-che-resource-requirements">Workspaces requirements</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes how to calculate the resources required for a workspace. It is the sum of the resources required for each component of this workspace.</p> |
| </div> |
| <div class="paragraph"> |
| <p>These examples demonstrate the necessity of a proper calculation:</p> |
| </div> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>A workspace with 10 active plug-ins requires more resources then the same workspace with fewer plug-ins.</p> |
| </li> |
| <li> |
| <p>A standard Java workspace requires more resources than a standard Node.js workspace because running builds, tests, and application debugging requires more resources.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="olist arabic"> |
| <div class="title">Procedure</div> |
| <ol class="arabic"> |
| <li> |
| <p>Identify the workspace components explicitly specified in the <code>components</code> section of the <a href="/che/docs/che-7/making-a-workspace-portable-using-a-devfile">devfile</a>.</p> |
| </li> |
| <li> |
| <p>Identify the implicit workspace components:</p> |
| <div class="olist loweralpha"> |
| <ol class="loweralpha" type="a"> |
| <li> |
| <p>Che implicitly loads the default <code>cheEditor</code>: <code>che-theia</code>, and the <code>chePlugin</code> that allows commands execution: <code>che-machine-exec-plugin</code>. To change the default editor, add a <code>cheEditor</code> component section in the devfile.</p> |
| </li> |
| <li> |
| <p>When Che is running in multiuser mode, it loads the <code>JWT Proxy</code> component. The <a href="/che/docs/che-7/authenticating-users/#machine-token-validation_authenticating-in-a-che-workspace">JWT Proxy</a> is responsible for the authentication and authorization of the external communications of the workspace components.</p> |
| </li> |
| </ol> |
| </div> |
| </li> |
| <li> |
| <p>Calculate the requirements for each component:</p> |
| <div class="olist loweralpha"> |
| <ol class="loweralpha" type="a"> |
| <li> |
| <p>Default values:</p> |
| <div class="paragraph"> |
| <p>The following table presents the default requirements for all workspace components. It also presents the corresponding Che server property to modify the defaults cluster-wide.</p> |
| </div> |
| <table class="tableblock frame-all grid-all stretch"> |
| <caption class="title">Table 2. Default requirements of workspace components by type</caption> |
| <colgroup> |
| <col style="width: 42.8571%;"> |
| <col style="width: 28.5714%;"> |
| <col style="width: 14.2857%;"> |
| <col style="width: 14.2858%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Component types</th> |
| <th class="tableblock halign-left valign-top">Che server property</th> |
| <th class="tableblock halign-left valign-top">Default memory limit</th> |
| <th class="tableblock halign-left valign-top">Default memory request</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>chePlugin</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>che.workspace.sidecar.default_memory_limit_mb</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">128 MiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">128 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>cheEditor</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>che.workspace.sidecar.default_memory_limit_mb</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">128 MiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">128 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>kubernetes</code>, <code>openshift</code>, <code>dockerimage</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>che.workspace.default_memory_limit_mb</code>, <code>che.workspace.default_memory_request_mb</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">1 Gi</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">512 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>JWT Proxy</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock"><code>che.server.secure_exposer.jwtproxy.memory_limit</code></p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">128 MiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">128 MiB</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </li> |
| <li> |
| <p>Custom requirements for <code>chePlugins</code> and <code>cheEditors</code> components:</p> |
| <div class="olist lowerroman"> |
| <ol class="lowerroman" type="i"> |
| <li> |
| <p>Custom memory limit and request:</p> |
| <div class="paragraph"> |
| <p>If present, the <code>memoryLimit</code> attribute of the <code>containers</code> section of the <code>meta.yaml</code> file defines the memory limit of a <code>chePlugins</code> or <code>cheEditors</code> component. Che automatically sets the memory request to match the memory limit. There is no attribute in a <code>meta.yaml</code> file to set the memory request.</p> |
| </div> |
| <div class="exampleblock"> |
| <div class="title">Example 1. The <code>chePlugin</code> <code>che-incubator/typescript/latest</code></div> |
| <div class="content"> |
| <div class="listingblock"> |
| <div class="title"><code>meta.yaml</code> spec section:</div> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="yaml"><span style="color:#606">spec</span>: |
| <span style="color:#606">containers</span>: |
| - <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">image: docker.io/eclipse/che-remote-plugin-node:next</span></span> |
| <span style="color:#606">name</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">vscode-typescript</span></span> |
| <span style="color:#606">memoryLimit</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">512Mi</span></span></code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>It results in a container with the following memory limit and request:</p> |
| </div> |
| <table class="tableblock frame-all grid-all stretch"> |
| <colgroup> |
| <col style="width: 50%;"> |
| <col style="width: 50%;"> |
| </colgroup> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Memory limit</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">512 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Memory request</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">512 MiB</p></td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| <div class="admonitionblock tip"> |
| <table> |
| <tr> |
| <td class="icon"> |
| <i class="fa icon-tip" title="Tip"></i> |
| </td> |
| <td class="content"> |
| <div class="paragraph"> |
| <div class="title">How to find the <code>meta.yaml</code> file of <code>chePlugin</code></div> |
| <p>Community plug-ins are available in the <a href="https://github.com/eclipse/che-plugin-registry">che-plugin-registry GitHub repository</a> in folder <code>v3/plugins/${organization}/${name}/${version}/</code>.</p> |
| </div> |
| <div class="paragraph"> |
| <p>For non-community or customized plug-ins, the <code>meta.yaml</code> files are available on the local Kubernetes cluster at <code>${pluginRegistryEndpoint}/v3/plugins/${organization}/${name}/${version}/meta.yaml</code>.</p> |
| </div> |
| <div class="paragraph"> |
| <p>For example, on a local Minikube cluster, the URL for the <code>che-incubator/typescript/latest meta.yaml</code> is <code>http://plugin-registry-che.192.168.64.78.nip.io/v3/plugins/che-incubator/typescript/latest/meta.yaml</code>.</p> |
| </div> |
| </td> |
| </tr> |
| </table> |
| </div> |
| </li> |
| <li> |
| <p>Custom CPU limit and request:</p> |
| <div class="paragraph"> |
| <p>Che does not set CPU limits and requests. The <code>LimitRange</code> Kubernetes namespace may specify some defaults for CPU limits and requests. Kubernetes apply them to the <code>chePlugin</code> container.</p> |
| </div> |
| </li> |
| </ol> |
| </div> |
| </li> |
| <li> |
| <p>Custom requirements for <code>dockerimage</code> components</p> |
| <div class="paragraph"> |
| <p>If present, the <code>memoryLimit</code> attribute of the devfile defines the memory limit of a <code>dockerimage</code> container. Che set automatically the memory request to match the memory limit. There is no attribute in a devfile to set the memory request.</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="yaml"> - <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">alias: maven</span></span> |
| <span style="color:#606">type</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">dockerimage</span></span> |
| <span style="color:#606">image</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">eclipse/maven-jdk8:latest</span></span> |
| <span style="color:#606">memoryLimit</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">1536M</span></span></code></pre> |
| </div> |
| </div> |
| </li> |
| <li> |
| <p>Custom requirements for <code>kubernetes</code> or <code>openshift</code> components:</p> |
| <div class="paragraph"> |
| <p>The referenced manifest may define the memory requirements and limits.</p> |
| </div> |
| </li> |
| </ol> |
| </div> |
| </li> |
| <li> |
| <p>Add all requirements previously calculated.</p> |
| </li> |
| </ol> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="a-workspace-example_calculating-che-resource-requirements">A workspace example</h2> |
| <div class="sectionbody"> |
| <div class="paragraph"> |
| <p>This section describes a Che workspace example.</p> |
| </div> |
| <div class="paragraph"> |
| <p>The following devfile defines the Che workspace:</p> |
| </div> |
| <div class="listingblock"> |
| <div class="content"> |
| <pre class="CodeRay highlight"><code data-lang="yaml"><span style="color:#606">apiVersion</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">1.0.0</span></span> |
| <span style="color:#606">metadata</span>: |
| <span style="color:#606">generateName</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">guestbook-nodejs-sample-</span></span> |
| <span style="color:#606">projects</span>: |
| - <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">name: guestbook-nodejs-sample</span></span> |
| <span style="color:#606">source</span>: |
| <span style="color:#606">type</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">git</span></span> |
| <span style="color:#606">location</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#710">"</span><span style="color:#D20">https://github.com/l0rd/nodejs-sample</span><span style="color:#710">"</span></span> |
| <span style="color:#606">components</span>: |
| - <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">type: chePlugin</span></span> |
| <span style="color:#606">id</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">che-incubator/typescript/latest</span></span> |
| - <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">type: kubernetes</span></span> |
| <span style="color:#606">alias</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">guestbook-frontend</span></span> |
| <span style="color:#606">reference</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">https://raw.githubusercontent.com/l0rd/nodejs-sample/master/kubernetes-manifests/guestbook-frontend.deployment.yaml</span></span> |
| <span style="color:#606">mountSources</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">true</span></span> |
| <span style="color:#606">entrypoints</span>: |
| - <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">command: ['sleep']</span></span> |
| <span style="color:#606">args</span>: <span style="background-color:hsla(0,100%,50%,0.05)"><span style="color:#D20">['infinity']</span></span></code></pre> |
| </div> |
| </div> |
| <div class="paragraph"> |
| <p>This table provides the memory requirements for each workspace component:</p> |
| </div> |
| <table class="tableblock frame-all grid-all stretch"> |
| <caption class="title">Table 3. Total workspace memory requirement and limit</caption> |
| <colgroup> |
| <col style="width: 16.6666%;"> |
| <col style="width: 50%;"> |
| <col style="width: 16.6666%;"> |
| <col style="width: 16.6668%;"> |
| </colgroup> |
| <thead> |
| <tr> |
| <th class="tableblock halign-left valign-top">Pod</th> |
| <th class="tableblock halign-left valign-top">Container name</th> |
| <th class="tableblock halign-left valign-top">Default memory limit</th> |
| <th class="tableblock halign-left valign-top">Default memory request</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Workspace</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">theia-ide (default <code>cheEditor</code>)</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">512 MiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">512 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Workspace</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">machine-exec (default <code>chePlugin</code>)</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">128 MiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">128 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Workspace</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">vscode-typescript (<code>chePlugin</code>)</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">512 MiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">512 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">Workspace</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">frontend (<code>kubernetes</code>)</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">1 GiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">512 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">JWT Proxy</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">verifier</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">128 MiB</p></td> |
| <td class="tableblock halign-left valign-top"><p class="tableblock">128 MiB</p></td> |
| </tr> |
| <tr> |
| <td class="tableblock halign-right valign-top" colspan="2"><p class="tableblock"><strong>Total</strong></p></td> |
| <td class="tableblock halign-right valign-top"><p class="tableblock"><strong>2.25 GiB</strong></p></td> |
| <td class="tableblock halign-right valign-top"><p class="tableblock"><strong>1.75 GiB</strong></p></td> |
| </tr> |
| </tbody> |
| </table> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p>The <code>theia-ide</code> and <code>machine-exec</code> components are implicitly added to the workspace, even when not included in the devfile.</p> |
| </li> |
| <li> |
| <p>The resources required by <code>machine-exec</code> are the default for <code>chePlugin</code>.</p> |
| </li> |
| <li> |
| <p>The resources for <code>theia-ide</code> are specifically set in the <code>cheEditor</code> <code>meta.yaml</code> to <strong>512 MiB</strong> as <code>memoryLimit</code>.</p> |
| </li> |
| <li> |
| <p>The Typescript VS Code extension has also overridden the default memory limits. In its <code>meta.yaml</code> file, the limits are explicitly specified to <strong>512 MiB</strong>.</p> |
| </li> |
| <li> |
| <p>Che is applying the defaults for the <code>kubernetes</code> component type: a memory limit of <strong>1 GiB</strong> and a memory request of <strong>512 MiB</strong>. This is because the <code>kubernetes</code> component references a <code>Deployment</code> manifest that has a container specification with no resource limits or requests.</p> |
| </li> |
| <li> |
| <p>The JWT container requires <strong>128 MiB</strong> of memory.</p> |
| </li> |
| </ul> |
| </div> |
| <div class="paragraph"> |
| <p>Adding all together results in <strong>1.75 GiB</strong> of memory requests with a <strong>2.25 GiB</strong> limit.</p> |
| </div> |
| </div> |
| </div> |
| <div class="sect1"> |
| <h2 id="additional-resources">Additional resources</h2> |
| <div class="sectionbody"> |
| <div class="ulist"> |
| <ul> |
| <li> |
| <p><a href="/che/docs/che-7/high-level-che-architecture">High-level Che architecture</a></p> |
| </li> |
| <li> |
| <p><a href="https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/">Kubernetes compute resources management documentation</a></p> |
| </li> |
| <li> |
| <p><a href="/che/docs/che-7/advanced-configuration-options">Advanced Che configuration options</a></p> |
| </li> |
| <li> |
| <p><a href="/che/docs/che-7/making-a-workspace-portable-using-a-devfile">Devfile documentation</a></p> |
| </li> |
| <li> |
| <p><a href="/che/docs/che-7/making-a-workspace-portable-using-a-devfile/#a-minimal-devfile_making-a-workspace-portable-using-a-devfile">A devfile that has no components</a></p> |
| </li> |
| <li> |
| <p><a href="/che/docs/che-7/authenticating-users/#machine-token-validation_authenticating-in-a-che-workspace">JWT Proxy</a></p> |
| </li> |
| <li> |
| <p><a href="https://github.com/eclipse/che-plugin-registry">che-plugin-registry GitHub repository</a></p> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </div> |
| |
| <div class="tags"> |
| |
| <b>Tags: </b> |
| |
| |
| |
| </div> |
| |
| <!-- |
| --> |
| |
| </div> |
| |
| <hr class="shaded"/> |
| |
| <footer> |
| <div class="row"> |
| <div class="col-lg-12 footer"> |
| Eclipse Che - Documentation <br/> |
| Site last generated: Apr 29, 2020 <br/> |
| <hr> |
| <a href="http://www.eclipse.org" target="_blank">Eclipse Foundation</a><br/> |
| <a href="http://www.eclipse.org/legal/privacy.php" target="_blank">Privacy Policy</a><br/> |
| <a href="http://www.eclipse.org/legal/termsofuse.php" target="_blank">Terms of Use</a><br/> |
| <a href="https://www.eclipse.org/legal/epl-2.0/" target="_blank">Eclipse Public License</a><br/> |
| <a href="http://www.eclipse.org/legal" target="_blank">Legal Resources</a><br/> |
| </div> |
| </div> |
| </footer> |
| |
| |
| |
| |
| <!-- /.row --> |
| </div> |
| <!-- /.container --> |
| </div> |
| <!-- /#main --> |
| </div> |
| |
| </body> |
| |
| </html> |