当前的服务器内存不足 (SharePoint Server)

 

**上一次修改主题:**2017-08-31

**摘要:**了解如何解析 SharePoint Server 2016 和 SharePoint 2013 的 SharePoint 运行状况分析器规则“当前的服务器内存不足”。

规则名称:  当前的服务器内存不足。

摘要:   该规则仅运行于承载分布式缓存服务的服务器中。该规则检查内存使用率是否超过承载分布式缓存服务的服务器的分配量。如果发现内存使用率已超过分配量,则触发警报。

**原因:**SharePoint Server 将向分布式缓存服务分配服务器总物理内存的 10%。分布式缓存服务会将分配的一半内存用于数据存储,并将分配的另一半内存用于内存管理开销。在缓存数据增长时,分布式缓存服务会使用分配的全部 10% 的内存。

解决方法:检查服务器上的内存使用率并释放更多内存、向服务器添加更多的内存并提高分布式缓存服务内存分配

  1. 确认执行此过程的用户帐户是 服务器场管理员 组的成员。

  2. 使用“资源管理器”查看 SharePoint Server 上的内存使用率。

  3. 向服务器添加更多内存。

  4. 增加分布式缓存服务的内存分配:

    备注

    向服务器添加物理内存时,分布式缓存服务不会自动重新计算 10% 的内存分配。因此您需要手动增加分布式缓存服务的内存分配。

    1. 决定承载分布式缓存服务的服务器上的总物理内存。例如,如果服务器上有 16 GB 的可用内存,您为缓存主机上运行的其他过程和服务保留 2 GB 的内存。这样 16 GB - 2 GB = 14 GB。将其余的内存分配给分布式缓存服务。

    2. 将其余内存的一半转换为 MB 数。例如,14 GB/2 = 7 GB 或 7168 MB。此数值是分布式缓存服务的缓存大小。

      使用以下过程可相应地更新内存分配。

更改分布式缓存的内存分配

  1. (可选)要检查服务器上分布式缓存服务的现有内存分配,请在 SharePoint 命令行管理程序 命令提示符处运行以下命令:

    Use-CacheCluster
    Get-AFCacheHostConfiguration -ComputerName ComputerName -CachePort "22233"
    

    其中,ComputerName 是您在其上运行 SharePoint 命令行管理程序 cmdlet 的服务器的计算机名称。

  2. 要重新配置分布式缓存服务的缓存大小,请在 SharePoint 命令行管理程序 命令提示符处在任何缓存主机上仅运行以下命令一次:

    Update-SPDistributedCacheSize -CacheSizeInMB CacheSize
    

    CacheSize 是缓存大小的内存分配(以 MB 为单位)。在之前的示例中,对于总内存为 16 GB 的服务器,计算出的缓存大小为 7168 MB。

  3. 重新启动所有缓存主机上的分布式缓存服务。要重新启动分布式缓存服务,请转至管理中心的“服务器上的服务”,并“重新启动”服务器场中所有缓存主机上的分布式缓存服务。

See also

Update-SPDistributedCacheSize