从用C#编写的Windows服务运行进程时出现内存问题

问题描述 投票:-1回答:2

从用C#编写的Windows服务运行进程时的内存问题:我正在尝试使用下一行运行某些进程:

    for (int i = 0; i < runParamaters.Count; i++)
        {
            ProcessStartInfo pe = new ProcessStartInfo(runParamaters[i].command, runParamaters[i].parameters);
                pe.WorkingDirectory = runParamaters[i].folder;
                System.Diagnostics.Process.Start(pe);
 }

从命令行exe或winform exe运行此循环时,它工作正常。但是从服务运行它(在它的“启动”功能) - 一些进程无法分配内存并失败。

知道为什么以及如何解决它?

c# service process out-of-memory
2个回答
0
投票

不确定你试图运行什么样的程序,但我试试这个:

pe.CreateNoWindow = false;
pe.UseShellExecute = false;

0
投票

问题是操作系统为服务分配的堆内存较少。解决方案是使用regedit编辑密钥HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ Session Manager \ SubSystems \ Windows以设置更多堆。非常感谢spodger。

© www.soinside.com 2019 - 2024. All rights reserved.