已收回快取物件 (SharePoint Server)

 

**適用版本:**SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Server 2016

**上次修改主題的時間:**2017-12-04

**摘要:**了解如何解決 SharePoint Health Analyzer 規則「已收回快取物件」。

規則名稱: 已收回快取物件

摘要: 當快取主機上之快取服務所耗用記憶體超過下限標準臨界值時,已過期的物件將會收回。當記憶體耗用量超過上限標準臨界值時,物件會從記憶體收回 (無論是否已過期),直到記憶體耗用量回復至下限標準。後續的快取物件可能會重新路由傳送給其他主機,以維持記憶體的最佳分佈。

**原因:**快取叢集中沒有足夠的記憶體。

解決方案: 將更多 RAM 新增至伺服器

  • 您可以新增更多 RAM 至伺服器以增加記憶體。若要識別發生失敗狀況的伺服器:在 SharePoint 管理中心網站中,按一下 [監視] 區段中的 [檢閱問題與解決方案],然後在 [失敗的伺服器] 清單中尋找伺服器名稱。如果伺服器陣列中有多個發生失敗狀況的伺服器,您必須在每個失敗的伺服器上重複此解決方案。

解決方案:增加分散式快取服務的記憶體配置

  1. 確認您具備下列成員資格:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 所有要更新之資料庫上的 db_owner 固定資料庫角色。

    • 正在執行 Microsoft PowerShell Cmdlet 之所在伺服器上的系統管理員群組。

    • 伺服器陣列管理員群組。

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  2. 啟動 SharePoint 管理命令介面。

  3. 檢查使用量的目前分散式快取設定。若要執行此動作,請執行下列命令:

    Get-SPDistributedCacheClientSetting

    如需詳細資訊,請參閱<Get-SPDistributedCacheClientSetting

  4. 停止伺服器陣列中所有快取主機上的分散式快取服務。若要執行此動作,請在每部快取主機上執行下列命令:

    Stop-SPDistributedCacheServiceInstance -Graceful

    如需詳細資訊,請參閱<在 SharePoint Server 中管理分散式快取服務>中的「執行分散式快取服務的正常關機」。

  5. 若要增加分散式快取服務的快取大小,請僅在任何快取主機上於 PowerShell 命令提示字元中執行下列命令一次:

    Update-SPDistributedCacheSize -CacheSizeInMB CacheSize

    其中:

    • CacheSize 是快取大小的記憶體配置分派 (MB)。預設值為系統 RAM 總數的 5%。此值不應大於系統 RAM 總數的 40 %,上限為 16 (GB)。
  6. 啟動所有快取主機上的分散式快取服務。若要啟動分散式快取服務,請前往 **中的 [伺服器上的服務]**管理中心 頁面 ,然後啟動伺服器陣列所有快取主機上的分散式快取服務。

See also

在 SharePoint Server 中管理分散式快取服務
規劃 SharePoint Server 中的摘要和分散式快取服務

Update-SPDistributedCacheSize
規劃與使用分散式快取服務