转载链接:http://blog.newnaw.com/?p=78

安装了ArcGIS Server的机器,当打开任务管理器的时候,会看到里面有arcsom.exe和arcsoc.exe进程,但它们的数量具体是如何决定的呢?以下的分析仅针对单机配置的情况(假定所有部件都安装在一台机器上),对于分布式的安装,可以此类推。
        GISServer是由一个SOM(Server Object Manager)和若干个SOC(Server ObjectContainer)机器组成。SOM会在机器里以arcgissom账户启动一个ArcSOM.exe的进程,这个进程负责管理(启动和停止)其他SOC进程(ArcSOC.exe),SOC进程虽然是由SOM启动,但是以arcgissoc 账户运行的。arcsom.exe启动时,会自动启动两个arcsoc.exe,一个用于记录AGS的日志,一个用于清空特定的工作目录。这两个arcsoc.exe在任务管理器中可以根据所占用的内存数与其他arcsoc.exe区分开来,如图,占用内存较少的两个arcsoc.exe便是由SOM进程自动启动的,而其他的arcsoc.exe则是由具体service启动的。


插入一些概念:

  用户请求一个service时,是和该service的一个instance打交道。service有pooled和 nonpooled两种。

  对于pooled service来说,一个用户(或者应用程序)请求该服务时,会随机获得一个该服务已经创建的instance 的引用,由该instance对请求做出响应;请求完成后,用户会立即释放该instance的引用,使其返回假想的instance pool中,用户发出另一个请求,重复上面的过程。

  如果是non pooledservice,用户第一次发出请求时,也会随机获得该service已经创建的一个instance引用,但请求处理完成后,该用户继续持有对该instance的引用,直到用户断开与服务器的连接(结束程序),该instance会被销毁,然后SOM会创建一个新的instance来维持数量。

  对于pooled service,又有low isolation和high isolation两种。

  highisolation是指service的每个instance都会独占一个进程(arcsoc.exe),lowisolation则是指一个进程内可保有多个(默认是8个,最多可达256个)instance(就是所谓的多线程)。lowisolation的好处是可以启动相对少的arcsoc.exe来维持同样数量的instance,节约服务器的内存资源;但如果一个 arcsoc.exe崩溃,那么里面的所有instance都会被销毁,即使用户正在使用它们。highisolation的优缺点则与之相反。一般来说,对于pooled service使用high isolation设置。non pooledservice的instance总是独占一个进程(同highisolation)。另外可以指定一个服务的最小和最大instance数目,服务启动时会自动创建最小数目的instance等待调用;当创建的instance数目达到最大数量时,所有的请求都会进入等待队列。
        至此,可以来分析一个具体的案例了。现在机器上总共有2个服务:
World:pooled,low isolation(8 instance per process),min-instance:9, max-instance:16   ,随机启动
China: non pooled ,min-instance:2, max-instance:4,手动启动。
        开机,SOM启动一个arcsom.exe,随后启动两个arcsoc.exe;World服务启动,创建9个instance,其中8个 instance公用一个arcsoc.exe,剩下一个instance启动另外一个arcsoc.exe。此时机器中共有1个 arcsom.exe,4个arcsoc.exe。此时手动启动China服务,创建2个instance,每个instance会启动一个 arcsoc.exe。此时,机器中共有1个arcsom.exe,6个arcsoc.exe。
        观察统计可知,最小instance数量为1的服务启动时间平均在17秒左右(cpu:Intel T7200)。可以看出,对于经常不用的服务,我们可以将它设置成手动启动,一来节约内存,二来加快机器启动速度。

转载于:https://www.cnblogs.com/pxtgis/p/8182368.html

任务管理器中arcsom.exe和arcsoc.exe的个数问题相关推荐

  1. “任务管理器”中的系统进程

    系统进程 最基本的系统进程(也就是说,这些进程是系统运行的基本条件,有了这些进程,系统就能正常运行): smss.exe 这是一个会话管理子系统,负责启动用户会话. System Idle Proce ...

  2. Windows系统在任务管理器中结束任务后电脑黑屏恢复(亲测有效)

    1.出现问题状况如下: 有时候电脑运行某个程序会特别卡,所以一般会在任务管理器中手动结束某个任务,打开快捷键(ctrl+alt+delete),结束任务后电脑黑屏. 在任务管理器中的资源监视器中停掉了 ...

  3. 排错技能:任务管理器中追踪某w3wp.exe是哪个IIS站点的application pool

    如果Windows的任务管理器中发现某个w3wp.exe占用了100%CPU,那我们就要揪出这是那个网站的application pool在作怪, 首先,每个站点一定要单独使用各自的applicati ...

  4. Windows XP中快速识别真假SVCHOST.EXE

    SVCHOST.EXE是基于NT核心技术的操作系统非常重要的进程,它提供许多系统服务,比如远程过程调用系统服务 (RPCSS).动态主机配置协议(DPCH) 服务等与网络相关的服务.现在广大计算机用户 ...

  5. 从内存中加载并运行exe(两种方法)

    windows似乎只提供了一种启动进程的方法:即必须从一个可执行文件中加载并启动.      而下面这段代码就是提供一种可以直接从内存中启动一个exe的变通办法.      用途嘛,     也许可以 ...

  6. Basic INFO: InstallShield中如何获取所调用Exe的返回值

    这里我们假设我们通过LaunchAppAndWait去调用某个exe,该exe有返回值. 代码如下: LaunchAppAndWait ( szProgram, szCmdLine, LAAW_OPT ...

  7. matlab 打包封装,matlab中如何封装打包成exe文件

    编译环境:matlab 2007b,winxp 1.设置编译器: 在确定安装好Matlab Compiler后,还需要对Compiler进行适当的配置,方法是在Matlab命令窗口输入: Mbuild ...

  8. 从内存中加载并运行exe

    {配合anskya的AnyWhereFileToPas效果不错} { ******************************************************* } { *     ...

  9. 学习机?原来是中了文件夹变exe文件的病毒Trojan-Dropper.Win32.Flystud.yo

    学习机?原来是中了文件夹变exe文件的病毒Trojan-Dropper.Win32.Flystud.yo endurer 原创 2009-08-23 第1版 一位朋友的学习机最近了,把学习机接到电脑上 ...

最新文章

  1. 快速设置戴尔latitude笔记本的触摸板和指点杆
  2. 图像集存储成MNIST数据集格式实现
  3. python微控制器编程从零开始-单片机可以使用Python语言来控制了!
  4. Educational Codeforces Round 75 (Rated for Div. 2)
  5. 发票管理软件_财务人员都在用的这款发票管理软件,真的值得购买么?
  6. STM32工作笔记0043---什么是漏源电压,栅源电压
  7. 数据库执行自定义函数报错问题记录
  8. mysql用binlog回复_mysql binlog回复数据,亲测
  9. static import java_Java 静态导入Static import
  10. java疯狂讲义第1天
  11. FTP(匿名登录)未授权访问漏洞复现(vsftpd2.3.4)
  12. word鼠标右下角有一个小方块_word
  13. 服务器系统安装ansys,云服务器安装ansys
  14. 网件r7000梅林系统虚拟内存创建失败,提示USB磁盘读写速度不满足要求解决办法,有需要创建虚拟内存吗??
  15. 《Sass 基础教程》共40节宁皓网课程
  16. 64位计算机很慢,Win7旗舰版64位系统电脑关机慢怎么办?
  17. Linux下强制关闭程序
  18. 知乎创意总监、Dine 设计团队创始人 @disinfeqt :设计、音乐
  19. 退出华为的时候,我在想些什么
  20. 江苏诚迈科技笔试题2013

热门文章

  1. java实现rabbitmq任务模型(work queues), 生产者 消费者 消息队列 能者多劳
  2. Python包管理整理:setuptool管理python相关的包
  3. PhoneGap在Microsoft Visual Studio Express For Wi...
  4. python从入门到实践答案第四章_《python从入门到实践》--第四章基本操作列表 重点及课后练习...
  5. Leetcode刷题指南和top100题目
  6. 23种经典设计模式的java实现_5_职责链模式
  7. Aptana Studio 介绍
  8. 【java学习之路】(javaWeb篇)002.CSS
  9. Linux 2.6 和安卓一样吗,Linux2.4和Linux2.6设备驱动的一些区别
  10. Java设计模式与实践