问题

大量 ArcSOC.exe 进程运行期间将无法发布新服务或启动现有服务

Last Published: January 19, 2023

描述

注:
本文仅适用于 Windows 环境。
当在 Windows 环境中的 ArcGIS for Server 计算机上运行大量 Web 服务实例(例如,大约 200 个或更多)时,ArcGIS Server 可能无法发布新服务或无法启动现有服务。 现有的硬件资源似乎足以支持实例化其他服务实例,包括具有足够的物理和虚拟内存。

ArcGIS for Server 日志指示以下内容:
  • 初始化服务器对象失败
  • 构造服务实例失败
  • 内部服务器错误。处理服务请求时出错

原因

在某些 Windows 环境中,当并发进程数量达到很大时,非交互式桌面堆大小可能已耗尽,从而导致 ArcGIS Server 工作流出现上述问题。

解决方案或解决方法

在 Windows 中,可以增加非交互式桌面堆大小,以确保可以创建足够数量的进程并允许其同时运行。
警告:
除非您确信导致启动或发布服务问题的原因是桌面堆耗尽,否则请勿按此说明执行。 

下面的说明涉及更改操作系统的重要组成部分。 建议先备份操作系统和文件(包括注册表),或者创建虚拟机的快照,然后再继续。 必要时,请咨询合格的计算机系统专业人士。

您按照下列步骤进行操作期间,Esri 无法防止错误更改造成的结果;因此,请谨慎操作并自行承担风险。
  1. 启动 Windows 注册表编辑器:单击开始>运行,输入regedit,然后单击确定
  2. 导航至 HKEY_Local_Machine > 系统 > CurrentControlSet > 控制 > 会话管理器 > 子系统。
  3. Windows 字符串值中,有一个 SharedSection 参数,默认情况下应该读取 SharedSection=1024,20480,768。 最后一个数字表示应该增加的非交互式桌面堆,例如从 768 增加到 1024。 确保保留完整键值,且仅修改这一部分。
  4. 重新启动 Windows。
警告:
增加非交互式桌面堆大小可能会导致 Windows 无法启动。 强烈建议保持适当备份并小幅增加非交互式堆(例如,256K),并在每次迭代后进行测试。 

文章 ID:000001218

从 ArcGIS 专家处获得帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项

发现关于本主题的更多内容