Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何删除Windows作业对象的内存限制?_Windows_Winapi - Fatal编程技术网

如何删除Windows作业对象的内存限制?

如何删除Windows作业对象的内存限制?,windows,winapi,Windows,Winapi,我已经为使用作业对象的进程配置了内存限制。现在我想取消这个限制。我假设我必须将JOBOBJECT\u EXTENDED\u LIMIT\u INFORMATION.ProcessMemoryLimit设置为特定值,然后调用SetInformationJobObject。我应该使用什么值 由于更改流程作业分配似乎有问题,因此不可能简单地脱离作业(至少在Windows 7上是这样) 下面是我正在使用的一些C代码,但它似乎对问题无关紧要: var limitInfo = new NativeMetho

我已经为使用作业对象的进程配置了内存限制。现在我想取消这个限制。我假设我必须将
JOBOBJECT\u EXTENDED\u LIMIT\u INFORMATION.ProcessMemoryLimit
设置为特定值,然后调用
SetInformationJobObject
。我应该使用什么值

由于更改流程作业分配似乎有问题,因此不可能简单地脱离作业(至少在Windows 7上是这样)

下面是我正在使用的一些C代码,但它似乎对问题无关紧要:

var limitInfo = new NativeMethods.JOBOBJECT_EXTENDED_LIMIT_INFORMATION()
{
    BasicLimitInformation = new NativeMethods.JOBOBJECT_BASIC_LIMIT_INFORMATION()
    {
        LimitFlags = NativeMethods.LimitFlags.JOB_OBJECT_LIMIT_PROCESS_MEMORY,
    },
    ProcessMemoryLimit = (UIntPtr)maxProcessMemoryBytes,
};

if (!NativeMethods.SetInformationJobObject(jobHandle, NativeMethods.JOBOBJECTINFOCLASS.JobObjectExtendedLimitInformation, (IntPtr)(&limitInfo), (uint)structSize))
    throw new Win32Exception();
0
似乎被操作系统拒绝,
-1
导致:


-4KB
作为限制。验证明显不足。

第一次调用以获取当前限制和标志,从中删除
作业\u对象\u限制\u进程\u内存
标志,最后使用此数据调用以移除进程内存限制。

第一次调用以获取当前限制和标志,从中删除
JOB\u OBJECT\u LIMIT\u PROCESS\u MEMORY
标志,最后使用此数据调用以删除进程内存限制。

我已为我的进程配置了内存限制
-您是如何配置的-正是这样,然后更改限制remove@RbMm我不知道你在说什么。我希望极限存在,但只存在一段时间。如果这就是你的意思,我不能简单地不设置任何限制。但是你设置了限制还是没有?是的,我这样做是有意的。仅仅删除
JOB\u OBJECT\u limit\u PROCESS\u MEMORY
标志就够了吗?
我已经为我的进程配置了内存限制
-你是如何配置的-就是这样,然后更改限制,相反remove@RbMm我不知道你在说什么。我希望极限存在,但只存在一段时间。如果这就是你的意思,我不能简单地不设置任何限制。但是你设置了限制还是没有?是的,我设置了,这是有意的。仅仅删除
作业\u对象\u限制\u进程\u内存
标志就够了吗?