Warning: Constant WP_TEMP_DIR already defined in /var/www/html/blogs/glenn/wp-config.php on line 94

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902

Warning: Cannot modify header information - headers already sent by (output started at /var/www/html/blogs/glenn/wp-config.php:94) in /var/www/html/blogs/glenn/wp-includes/rest-api/class-wp-rest-server.php on line 1902
{"id":1468,"date":"2018-12-28T12:54:29","date_gmt":"2018-12-28T20:54:29","guid":{"rendered":"http:\/\/3.209.169.194\/blogs\/glenn\/?p=1468"},"modified":"2019-03-04T11:05:27","modified_gmt":"2019-03-04T19:05:27","slug":"how-to-check-if-your-processor-supports-second-level-address-translation-slat","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/","title":{"rendered":"How to Check if Your Processor Supports Second Level Address Translation (SLAT)"},"content":{"rendered":"

If you want to run Docker for Windows<\/a>, you will need to be running one of these specific Windows 10 SKUs. These include Windows 10 Professional, Windows 10 Enterprise, Windows 10 Pro for Workstations<\/a>, or Windows 10 Education Edition. Since Docker for Windows requires Microsoft Hyper-V, you will also need a processor on your host machine that supports second level address translation (SLAT)<\/a> in order to run Hyper-V<\/a>.\u00a0 You will also want\/need SLAT support for pretty much any other hypervisor that you may be using.<\/span><\/p>\n

Modern Processors<\/h2>\n

This should not be a problem in most cases, since nearly all systems that are running Windows 10 will have a new enough Intel or AMD processor so that SLAT support won\u2019t be an issue. For AMD, SLAT support, which they call Rapid Virtualization Indexing (RVI), was introduced in the Barcelona microarchitecture<\/a> in late 2007. For Intel, SLAT support, which they call Extended Page Tables (EPT), was introduced with the Westmere microarchitecture<\/a> in early 2010.<\/span><\/p>\n

Checking for SLAT Support<\/h2>\n

If you want to actually check your system to confirm that you have SLAT support in your processor (before you install Hyper-V), here is how to do it:<\/span><\/p>\n

\u00a0<\/span><\/p>\n

1. Download Coreinfo from this link<\/a><\/span><\/p>\n

\u00a0<\/span><\/p>\n

2. Extract the zip file, and then copy the Coreinfo.exe file to the root of your C: drive<\/span><\/p>\n

\u00a0<\/span><\/p>\n

3. Open a command prompt as an administrator<\/span><\/p>\n

\u00a0<\/span><\/p>\n

4. Navigate to the root of your C: drive in the command prompt<\/span><\/p>\n

\u00a0<\/span><\/p>\n

5. Run this command: coreinfo \u2013v<\/span><\/p>\n

\u00a0<\/span><\/p>\n

6. The \u2013v switch shows virtualization-related features<\/span><\/p><\/blockquote>\n

\u00a0<\/span><\/p>\n

If you see an asterisk on the feature line, that means the processor supports that feature. If there is a dash on the feature line, the processor does not support that feature. You want to look at the EPT line for Intel or the NP line for AMD. This tells you whether your processor has second level address translation support.<\/span><\/p>\n

\u00a0<\/span><\/p>\n

\"image\"<\/a><\/p>\n

Figure 1: Results of Coreinfo \u2013v on an Intel Core i7-8700K Processor<\/strong><\/span><\/p>\n

\u00a0<\/span><\/p>\n

If you already have Hyper-V installed, you will get inaccurate results, as shown in Figure 2. Just to be clear, this AMD processor does have SLAT support, but the fact that Hyper-V is running gives the wrong results.<\/span><\/p>\n

\u00a0<\/span><\/p>\n

\"image\"<\/a><\/p>\n

Figure 2: Results of Coreinfo \u2013v on an AMD Ryzen Threadripper 2950X Processor<\/strong><\/span><\/p>\n

\u00a0Conclusion<\/span><\/h2>\n

You must have second level address translation support in order to run Docker for Windows since that is a Hyper-V requirement. This is actually a good thing, since\u00a0second level address translation support<\/span> gives you better virtualization performance.<\/p>\n

\u00a0<\/span><\/p>\n

\u00a0<\/span><\/p>\n

\u00a0<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"

If you want to run Docker for Windows, you will need to be running one of these specific Windows 10 SKUs. These include Windows 10 Professional, Windows 10 Enterprise, Windows 10 Pro for Workstations, or Windows 10 Education Edition. Since Docker for Windows requires Microsoft Hyper-V, you will also need a processor on your host […]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12,409,17,20],"tags":[411,410],"class_list":["post-1468","post","type-post","status-publish","format-standard","hentry","category-amd","category-docker","category-sql-server-hardware","category-intel","tag-second-level-address-translation","tag-slat"],"yoast_head":"\nHow to Check if Your Processor Supports Second Level Address Translation (SLAT) - Glenn Berry<\/title>\n<meta name=\"description\" content=\"Glenn Berry describes how to check whether your processor supports second level address translation, which is vital for virtualization performance\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Check if Your Processor Supports Second Level Address Translation (SLAT) - Glenn Berry\" \/>\n<meta property=\"og:description\" content=\"Glenn Berry describes how to check whether your processor supports second level address translation, which is vital for virtualization performance\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/\" \/>\n<meta property=\"og:site_name\" content=\"Glenn Berry\" \/>\n<meta property=\"article:published_time\" content=\"2018-12-28T20:54:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-03-04T19:05:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-content\/uploads\/2018\/12\/image_thumb.png\" \/>\n<meta name=\"author\" content=\"Glenn Berry\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Glenn Berry\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/\",\"name\":\"How to Check if Your Processor Supports Second Level Address Translation (SLAT) - Glenn Berry\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-content\/uploads\/2018\/12\/image_thumb.png\",\"datePublished\":\"2018-12-28T20:54:29+00:00\",\"dateModified\":\"2019-03-04T19:05:27+00:00\",\"author\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/57a8972435106bac7970692fcf5edfa7\"},\"description\":\"Glenn Berry describes how to check whether your processor supports second level address translation, which is vital for virtualization performance\",\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/#primaryimage\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-content\/uploads\/2018\/12\/image_thumb.png\",\"contentUrl\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-content\/uploads\/2018\/12\/image_thumb.png\",\"width\":1028,\"height\":399},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Check if Your Processor Supports Second Level Address Translation (SLAT)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#website\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/\",\"name\":\"Glenn Berry\",\"description\":\"Semi-random musings about SQL Server performance\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/57a8972435106bac7970692fcf5edfa7\",\"name\":\"Glenn Berry\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/64bdac8830f25f2f8cc780f8a1286c66ff1182218009271e7a953639596f7e25?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/64bdac8830f25f2f8cc780f8a1286c66ff1182218009271e7a953639596f7e25?s=96&d=mm&r=g\",\"caption\":\"Glenn Berry\"},\"sameAs\":[\"https:\/\/www.sqlskills.com\/blogs\/glenn\/\"],\"url\":\"https:\/\/www.sqlskills.com\/blogs\/glenn\/author\/glenn\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Check if Your Processor Supports Second Level Address Translation (SLAT) - Glenn Berry","description":"Glenn Berry describes how to check whether your processor supports second level address translation, which is vital for virtualization performance","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/","og_locale":"en_US","og_type":"article","og_title":"How to Check if Your Processor Supports Second Level Address Translation (SLAT) - Glenn Berry","og_description":"Glenn Berry describes how to check whether your processor supports second level address translation, which is vital for virtualization performance","og_url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/","og_site_name":"Glenn Berry","article_published_time":"2018-12-28T20:54:29+00:00","article_modified_time":"2019-03-04T19:05:27+00:00","og_image":[{"url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-content\/uploads\/2018\/12\/image_thumb.png","type":"","width":"","height":""}],"author":"Glenn Berry","twitter_misc":{"Written by":"Glenn Berry","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/","url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/","name":"How to Check if Your Processor Supports Second Level Address Translation (SLAT) - Glenn Berry","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/#primaryimage"},"image":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/#primaryimage"},"thumbnailUrl":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-content\/uploads\/2018\/12\/image_thumb.png","datePublished":"2018-12-28T20:54:29+00:00","dateModified":"2019-03-04T19:05:27+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/57a8972435106bac7970692fcf5edfa7"},"description":"Glenn Berry describes how to check whether your processor supports second level address translation, which is vital for virtualization performance","breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/#primaryimage","url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-content\/uploads\/2018\/12\/image_thumb.png","contentUrl":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-content\/uploads\/2018\/12\/image_thumb.png","width":1028,"height":399},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/how-to-check-if-your-processor-supports-second-level-address-translation-slat\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/glenn\/"},{"@type":"ListItem","position":2,"name":"How to Check if Your Processor Supports Second Level Address Translation (SLAT)"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/","name":"Glenn Berry","description":"Semi-random musings about SQL Server performance","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/glenn\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/57a8972435106bac7970692fcf5edfa7","name":"Glenn Berry","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/glenn\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/64bdac8830f25f2f8cc780f8a1286c66ff1182218009271e7a953639596f7e25?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/64bdac8830f25f2f8cc780f8a1286c66ff1182218009271e7a953639596f7e25?s=96&d=mm&r=g","caption":"Glenn Berry"},"sameAs":["https:\/\/www.sqlskills.com\/blogs\/glenn\/"],"url":"https:\/\/www.sqlskills.com\/blogs\/glenn\/author\/glenn\/"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/posts\/1468","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/comments?post=1468"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/posts\/1468\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/media?parent=1468"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/categories?post=1468"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/glenn\/wp-json\/wp\/v2\/tags?post=1468"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}