我有一个批处理文件,它使用以下命令启动JDBC连接器:
java -XX:NewSize=256m -XX:NewRatio=1 -Xms1024m -Xmx1024m -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode -XX:+CMSIncrementalPacing -XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=5 -XX:+CMSParallelRemarkEnabled
-XX:+UseTLAB -Dsun.rmi.dgc.client.gcInterval=240000 -Dsun.rmi.dgc.server.gcInterval=240000 -Dfile.encoding=UTF8
-Djava.ext.dirs=..\lib;"C:\Program Files\Java\jdk1.5.0_16\jre"\lib;"C:\Program Files\Java\jdk1.5.0_16\jre"\lib\ext
com.fastsearch.esp.connectors.jdbc.JDBCConnector%1%2%3%4%5%6%7
如果我在本地PC上启动它可以正常工作,但是当我在C#中使用WMI远程运行它时,它给出了“初始化VM时出错”无法为对象堆保留足够的空间 .
这是我使用的C#代码:
ObjectGetOptions objectGetOptions = new ObjectGetOptions(null,System.TimeSpan.MaxValue,true);
ManagementPath managementPath = new ManagementPath("Win32_Process");
ManagementClass processClass = new ManagementClass
(manScope, managementPath, objectGetOptions);
ManagementBaseObject inParams = processClass.GetMethodParameters("Create");
inParams["CommandLine"] = @"D:\temp\connect.bat";
inParams["CurrentDirectory"] = @"D:\temp";
ManagementBaseObject outParams = processClass.InvokeMethod("Create", inParams, null);
那么当我远程使用JVM时有什么问题吗?在远程计算机上使用WMI时是否有内存限制?
1 回答
根据这个页面:https://www.anoopcnair.com/configmgr-sccm-how-to-increase-wmi-default-memory-allocation/
我需要将WMI进程内存增加到一定量,以便运行JDBC Connector . 默认值为128MB,这对于连接器设置是不够的 . 太麻烦了......我放弃了 . 我打算用psExec代替 .