开发慢慢向着SharePoint 2013迁移,环境也开始慢慢准备起来了。由于FAST Search的集成,和缓存服务的加入,SharePoint 2013对开发机器要求的不是一般的高。这里介绍一下如何降低这个需求,分配4G内存给虚拟的情况下,基本可以完成正常开发。
-
尽量减少启动服务和应用程序池数量。
一般开发,并不需要所有SharePoint服务,尽量按需启用。
Plan service deployment in SharePoint 2013,这个文档清楚的说明了每个服务的作用。
例如下面将会介绍的,分布式缓存和搜索服务,如果你暂时用不到,就不要启用。
安装的时候,尽量合并所有的服务,使用同一个应用程序池。
典型情况下,4个左右就够了。
- CA站点
- 应用程序站点
- 服务服务应用
- 系统服务应用:
-
限制SQL Server内存为768M。
- 在对象资源管理器中,右键单击服务器并选择"属性"。
- 单击"内存"节点。
- 在"服务器内存选项"中,为"最小服务器内存"和"最大服务器内存"输入所需的内存量。
-
限制最大服务器内存为768M,
768M是因为我自己测试机的尝试后的一个推荐值。限制小于这个值,SQL Server CPU使用率会比较高。另外,根据我对SharePoint 2010经验,小于512M内存的话,某些开发场景会出现诡异的错误。这个数量可以根据自己机器资源尽量调大。
-
限制FAST Search运行内存消耗。
降低搜索的优先级:
Set-SPEnterpriseSearchService -PerformanceLevel Reduced
限制SharePoint搜索组件(NodeRunner.exe)的总内存.
编辑C:\Program Files\Microsoft Office Servers\15.0\Search\Runtime\1.0\noderunner.exe.config文件,搜索nodeRunnerSettings配置节,将0(不限制内存使用)修改为512(可以根据自己状况改其他数值)。
<nodeRunnerSettings memoryLimitMegabytes="512" />
保存文件,并重启SharePoint Search Host Controller服务。
注意,一旦你做了这个修改,可能会产生如下文章的错误。The Return of the Search Application Topology Component Health State Error,我改成512也是因为这个原因,我的环境中,大于512这个错误就没有了。
-
限制分布式缓存大小
Update-SPDistributedCacheSize -CacheSizeInMB 200
这里200也是我的一个参考值,设置太小,似乎设置并不会生效。所以设置的时候,可以查看如下的进程确认设置生效情况。
参考文档:Manage the Distributed Cache service in SharePoint Server 2013
全部做完以上步骤的,在我的VirtulBox分配4G内存也可以比较流畅的进行基本的SharePoint体验了。
最后上一张大截图,开了VS,IE,IIS, Powershell后内存CPU基本可以接受