{"id":47,"date":"2014-06-24T15:30:39","date_gmt":"2014-06-24T13:30:39","guid":{"rendered":"https:\/\/www.vioreliftode.com\/?p=47"},"modified":"2016-04-15T14:46:00","modified_gmt":"2016-04-15T12:46:00","slug":"windows-system-resource-manager-and-sharepoint-2013","status":"publish","type":"post","link":"https:\/\/www.vioreliftode.com\/index.php\/windows-system-resource-manager-and-sharepoint-2013\/","title":{"rendered":"Windows System Resource Manager and SharePoint 2013"},"content":{"rendered":"<input class=\"fooboxshare_post_id\" type=\"hidden\" value=\"47\"\/><p>My test environment is running on a single physical machine (64 GB RAM &amp; i7-3930K) and I usually run like 14-20 VMs in the same time. I work a lot with SharePoint and my 2007, 2010 and 2013 farms are quite complex. I always configure my farms to support all the features (Search, Business Intelligence, Project Server, \u00a0&#8230;) because whenever I want to test something I want to have everything ready.<\/p>\n<p>&nbsp;<\/p>\n<p>In short I want to be able to use all the SharePoint features with 14 GB per SharePoint 2013 front-end\/application server. You can run such setup without issues and have decent performance if you use Windows System Resource Manager (WSRM) and you configure it properly.<br \/>\n<em>Just for fact &#8211; my personal VM (Windows 2012, AD, SharePoint 2013, TFS, MSSQL) is running smooth with only 10 GB RAM thanks to Windows System Resource Manager.<\/em><br \/>\nWith WSRM I was able to run SharePoint 2013 +\u00a0MSSQL on a single VM using only 6 GB. Of course when you have such low resources you definitely target\u00a0a setup for development \/ test for\u00a0under 10 users.<\/p>\n<p>&nbsp;<\/p>\n<p>I also use WSRM in production environment. In fact WSRM is available starting with Windows Server 2003 (as a separate component)\u00a0and is a Windows Server\u00a0feature on\u00a0Microsoft Windows Server 2008, 2008 R2 and 2012. In Windows Server 2012 WSRM is announced as being deprecated (still there and usable) and in Windows Server 2012 R2 was removed (but still functional &#8211; I will explain in a future article).<\/p>\n<p>&nbsp;<\/p>\n<p>With WSRM I am able to configure the processes from each SharePoint server to run in the limits I specify. For example I want the processes associated to the Search Role (Search Service Application, \u00a0noderunner.exe, mssdmn.exe, mssearch.exe) to run and be ready to be used anytime, but in the same time to use less resources compared with my SharePoint Web Applications (w3wp.exe processes). \u00a0I want the\u00a0interaction with my Web Applications (usually at least 3 per farm) to be fast (because this represents my 90% interaction with SharePoint) and the Search Role to be fully ready to be used, but to run in such way to not &#8220;eat&#8221; all my resources. Yes, I know about <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/ff608126(v=office.15).aspx\" target=\"_blank\">Set-SPEnterpriseSearchService<\/a>, but WSRM does a better job and more than that can work with any kind of process (so no more frustration in case\u00a0the application you use cannot be configured\u00a0to use a maximum amount of memory and CPU).<\/p>\n<p>&nbsp;<\/p>\n<p>SharePoint 2013 is a beast, it <a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc262485(v=office.15).aspx#hwforwebserver\" target=\"_blank\">requires lots of resources<\/a> to run and when your VM test environment was\u00a0<a href=\"http:\/\/technet.microsoft.com\/en-us\/library\/cc748824(v=office.15).aspx\" target=\"_blank\">built for high availability<\/a>\u00a0you immediately understand that 64 GB RAM on a single physical machine are not enough if you don&#8217;t make the resource allocation more efficient.<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline;\"><strong>How my WSRM setup looks for the SharePoint test env?<\/strong><\/span><br \/>\n<a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Server_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-51 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Server_01-300x167.jpg\" alt=\"WSRM SharePoint Server\" width=\"300\" height=\"167\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Server_01-300x167.jpg 300w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Server_01-1024x572.jpg 1024w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Server_01-672x372.jpg 672w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Server_01-1038x576.jpg 1038w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Server_01.jpg 1158w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline;\">Process Matching Criteria<br \/>\n<\/span>AppFabricCachingService &#8211; serves as an in-memory cache to store data accessed by applications, thereby improving application performance.<br \/>\n<a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_AppFabricCachingService_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-53 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_AppFabricCachingService_01-291x300.jpg\" alt=\"WSRM AppFabric Caching Service\" width=\"291\" height=\"300\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_AppFabricCachingService_01-291x300.jpg 291w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_AppFabricCachingService_01.jpg 418w\" sizes=\"(max-width: 291px) 100vw, 291px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>SPSearchV15NodeRunner &#8211; components (5 separate processes): Admin | Query Processing\u00a0| Content Processing | Index |\u00a0<span style=\"line-height: 1.5;\">Analytic Processing.<br \/>\n<a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPSearchV15NodeRunner_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-54 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPSearchV15NodeRunner_01-291x300.jpg\" alt=\"WSRM SharePoint Search V15 NodeRunner\" width=\"291\" height=\"300\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPSearchV15NodeRunner_01-291x300.jpg 291w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPSearchV15NodeRunner_01.jpg 418w\" sizes=\"(max-width: 291px) 100vw, 291px\" \/><\/a><br \/>\n<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>SPSearchV15\u00a0&#8211; SharePoint Search Windows Service + SharePoint Crawl.<br \/>\n<a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPSearchV15_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-60 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPSearchV15_01-291x300.jpg\" alt=\"WSRM SharePoint Search V15\" width=\"291\" height=\"300\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPSearchV15_01-291x300.jpg 291w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPSearchV15_01.jpg 418w\" sizes=\"(max-width: 291px) 100vw, 291px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>IISAppPool_w3wp &#8211; the replacement of IISAppPool. Matches all IIS App Pool worker processes.<a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_IISAppPool_w3wp_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-55 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_IISAppPool_w3wp_01-291x300.jpg\" alt=\"WSRM IISAppPool w3wp\" width=\"291\" height=\"300\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_IISAppPool_w3wp_01-291x300.jpg 291w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_IISAppPool_w3wp_01.jpg 418w\" sizes=\"(max-width: 291px) 100vw, 291px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>SP_SYNC &#8211; IIS SharePoint SYNC WebApplication.<br \/>\n<em>Usually IISAppPool_w3wp should be fine, but in case you want to change the process allocation for a specific web application, you can define the process matching criteria as presented bellow (just make sure into the Resource Allocation Policy it\u00a0has a higher priority than\u00a0IISAppPool_w3wp).<\/em><br \/>\n<a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SP_SYNC_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-57 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SP_SYNC_01-291x300.jpg\" alt=\"WSRM SharePoint SYNC Web Application\" width=\"291\" height=\"300\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SP_SYNC_01-291x300.jpg 291w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SP_SYNC_01.jpg 418w\" sizes=\"(max-width: 291px) 100vw, 291px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>SPTimerV15 &#8211; sends notifications and performs scheduled tasks for SharePoint.<br \/>\n<a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPTimerV15_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-58 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPTimerV15_01-291x300.jpg\" alt=\"WSRM SharePoint Timer V15\" width=\"291\" height=\"300\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPTimerV15_01-291x300.jpg 291w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPTimerV15_01.jpg 418w\" sizes=\"(max-width: 291px) 100vw, 291px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>SPUserCodeV15 &#8211; executes user code in a sandbox.<br \/>\n<a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPUserCodeV15_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-59 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPUserCodeV15_01-291x300.jpg\" alt=\"WSRM SharePoint UserCode V15\" width=\"291\" height=\"300\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPUserCodeV15_01-291x300.jpg 291w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SPUserCodeV15_01.jpg 418w\" sizes=\"(max-width: 291px) 100vw, 291px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline;\">Resource Allocation Policies<br \/>\n<\/span>SharePoint_Working_Hours \u00a0&#8211;\u00a0Use it during production hours. Will provide optimal resource usage without too much caching or inefficient resource allocation.<br \/>\n<a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Working_Hours_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-62 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Working_Hours_01-300x144.jpg\" alt=\"WSRM SharePoint Working Hours\" width=\"300\" height=\"144\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Working_Hours_01-300x144.jpg 300w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Working_Hours_01.jpg 772w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>SharePoint_Working_Hours_Relaxed &#8211;\u00a0Use it when the system resources limitations are creating problems or when you expect the system to not be accessed by the users and you want to leave it to run its schedule maintenance tasks without restrictions.<br \/>\n<a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Working_Hours_Relaxed_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-63 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Working_Hours_Relaxed_01-300x144.jpg\" alt=\"WSRM SharePoint Working Hours Relaxed\" width=\"300\" height=\"144\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Working_Hours_Relaxed_01-300x144.jpg 300w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Working_Hours_Relaxed_01.jpg 772w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>SharePoint_Maintenance &#8211;\u00a0Use it when the system resources limitations are creating problems or when you perform important configuration changes or maintenance.<br \/>\n<a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Maintenance_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-64 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Maintenance_01-300x144.jpg\" alt=\"WSRM SharePoint Maintenance\" width=\"300\" height=\"144\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Maintenance_01-300x144.jpg 300w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_SharePoint_Maintenance_01.jpg 772w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline;\">Calendar Events<br \/>\n<\/span>Working_Hours<br \/>\n<span style=\"text-decoration: underline;\"><a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_Working_Hours_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-65 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_Working_Hours_01-300x249.jpg\" alt=\"WSRM Working Hours calendar event\" width=\"300\" height=\"249\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_Working_Hours_01-300x249.jpg 300w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_Working_Hours_01.jpg 619w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"text-decoration: underline;\">WSRM Properties<br \/>\n<a href=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_Properties_01.jpg\" target=\"_blank\"><img loading=\"lazy\" class=\"alignnone wp-image-66 size-medium\" src=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_Properties_01-263x300.jpg\" alt=\"WSRM Properties\" width=\"263\" height=\"300\" srcset=\"https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_Properties_01-263x300.jpg 263w, https:\/\/www.vioreliftode.com\/wp-content\/uploads\/2014\/06\/WSRM_Properties_01.jpg 384w\" sizes=\"(max-width: 263px) 100vw, 263px\" \/><\/a><br \/>\n<\/span><\/p>\n<p>This is the\u00a0setup I\u00a0\u00a0found working excellent for my test environment that allows me to run at least 4 SharePoint VMs in parallel on my 64 GB RAM physical machine. As I mentioned a few times &#8211; always follow the Microsoft Recommendations in terms of production environment and plan your configuration with enough resources.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>My test environment is running on a single physical machine (64 GB RAM &amp; i7-3930K) and I usually run like 14-20 VMs in the same time. I work a lot with SharePoint and my 2007, 2010 and 2013 farms are quite complex. I always configure my farms to support all the features (Search, Business Intelligence, &hellip; <a href=\"https:\/\/www.vioreliftode.com\/index.php\/windows-system-resource-manager-and-sharepoint-2013\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Windows System Resource Manager and SharePoint 2013<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"spay_email":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false},"categories":[29],"tags":[94,31,30],"jetpack_featured_media_url":"","jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4NfDd-L","_links":{"self":[{"href":"https:\/\/www.vioreliftode.com\/index.php\/wp-json\/wp\/v2\/posts\/47"}],"collection":[{"href":"https:\/\/www.vioreliftode.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.vioreliftode.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.vioreliftode.com\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.vioreliftode.com\/index.php\/wp-json\/wp\/v2\/comments?post=47"}],"version-history":[{"count":0,"href":"https:\/\/www.vioreliftode.com\/index.php\/wp-json\/wp\/v2\/posts\/47\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.vioreliftode.com\/index.php\/wp-json\/wp\/v2\/media?parent=47"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.vioreliftode.com\/index.php\/wp-json\/wp\/v2\/categories?post=47"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.vioreliftode.com\/index.php\/wp-json\/wp\/v2\/tags?post=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}