Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/156.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
Visual studio 2013 Windows Server 2012内存泄漏_Visual Studio 2013_Memory Leaks_Server_Bamboo_Windows Server 2012 R2 - Fatal编程技术网

Visual studio 2013 Windows Server 2012内存泄漏

Visual studio 2013 Windows Server 2012内存泄漏,visual-studio-2013,memory-leaks,server,bamboo,windows-server-2012-r2,Visual Studio 2013,Memory Leaks,Server,Bamboo,Windows Server 2012 R2,我的非池内存值约为3 Gb,而windows server 2012上的总内存为6 Gb。我认为是内存泄漏,请参见屏幕: 顶级流程: Bambor使用Microsoft Visual Studio 2013构建项目并运行测试 如何确定不良流程 如何解决这个问题?有可能处理掉这个漏洞吗 内存泄漏是由驱动程序引起的,而不是由应用程序引起的。看看非分页内核内存的高价值。在您的情况下,这是2.7 GB。您可以使用查看导致高使用率的驱动程序 安装,运行poolmon,在pool type之后通过p对其

我的非池内存值约为3 Gb,而windows server 2012上的总内存为6 Gb。我认为是内存泄漏,请参见屏幕:

顶级流程:

Bambor使用Microsoft Visual Studio 2013构建项目并运行测试

  • 如何确定不良流程
  • 如何解决这个问题?有可能处理掉这个漏洞吗

  • 内存泄漏是由驱动程序引起的,而不是由应用程序引起的。看看非分页内核内存的高价值。在您的情况下,这是2.7 GB。您可以使用查看导致高使用率的驱动程序

    安装,运行poolmon,在pool type之后通过p对其进行排序,使non-paged位于顶部,并在bytes之后通过B查看使用最多内存的标记。通过转到安装WDK的文件夹运行poolmon,转到Tools(或C:\Program Files(x86)\Windows Kits\8.1\Tools\x64)并单击poolmon.exe

    现在查看哪个pooltag使用的内存最多,如下所示:

    现在打开cmd提示符并运行findstr命令。要执行此操作,请打开cmd提示符并键入“cd C:\Windows\System32\drivers”转到驱动程序目录,不带引号。然后键入
    findstr/s.\uuu*.
    ,其中
    .\uuu
    是您在poolmon中看到的标记

    执行此操作后,查看哪个驱动程序使用此标记:

    现在,转到drivers文件夹(C:\Windows\System32\drivers),右键单击有问题的驱动程序(上图示例中的
    intmsd.sys
    )。单击属性,转到详细信息选项卡以查找产品名称。查找该产品的更新

    如果找不到pooltag的驱动程序,请查看pooltag.txt中是否有Windows驱动程序使用该标记

    如果在pooltag.txt中找到该标记,则需要使用捕获池使用量的增长。首先,你必须这样做。接下来打开cmd提示符(cmd.exe)并运行以下操作:

    xperf-基础上+池-stackwalk PoolAlloc+池自由-缓冲大小2048 -MaxFile 1024-FileMode循环和超时-1&&xperf-d C:\trace\u pool\u alloc.etl

    现在在中打开它,并在
    AIFO
    (分配insde freed out)下查找在poomon中看到的标记,并扩展堆栈。从函数名中,您可能知道发生了什么


    在本例中,
    文件
    标记的使用来自一个名为的工具,该工具扫描硬盘以建立其搜索索引。

    您的内存泄漏是由驱动程序引起的,而不是由应用程序引起的。看看非分页内核内存的高价值。在您的情况下,这是2.7 GB。您可以使用查看导致高使用率的驱动程序

    安装,运行poolmon,在pool type之后通过p对其进行排序,使non-paged位于顶部,并在bytes之后通过B查看使用最多内存的标记。通过转到安装WDK的文件夹运行poolmon,转到Tools(或C:\Program Files(x86)\Windows Kits\8.1\Tools\x64)并单击poolmon.exe

    现在查看哪个pooltag使用的内存最多,如下所示:

    现在打开cmd提示符并运行findstr命令。要执行此操作,请打开cmd提示符并键入“cd C:\Windows\System32\drivers”转到驱动程序目录,不带引号。然后键入
    findstr/s.\uuu*.
    ,其中
    .\uuu
    是您在poolmon中看到的标记

    执行此操作后,查看哪个驱动程序使用此标记:

    现在,转到drivers文件夹(C:\Windows\System32\drivers),右键单击有问题的驱动程序(上图示例中的
    intmsd.sys
    )。单击属性,转到详细信息选项卡以查找产品名称。查找该产品的更新

    如果找不到pooltag的驱动程序,请查看pooltag.txt中是否有Windows驱动程序使用该标记

    如果在pooltag.txt中找到该标记,则需要使用捕获池使用量的增长。首先,你必须这样做。接下来打开cmd提示符(cmd.exe)并运行以下操作:

    xperf-基础上+池-stackwalk PoolAlloc+池自由-缓冲大小2048 -MaxFile 1024-FileMode循环和超时-1&&xperf-d C:\trace\u pool\u alloc.etl

    现在在中打开它,并在
    AIFO
    (分配insde freed out)下查找在poomon中看到的标记,并扩展堆栈。从函数名中,您可能知道发生了什么


    在本例中,
    文件
    标记的使用来自一个名为的工具,该工具扫描硬盘以建立其搜索索引。

    有用的帖子:有用的帖子:好的,文件也是最大的标记。因此,当文件标记使用量增加时,请执行xperf跟踪。您需要打开C:\trace\u pool\u alloc.etl并加载符号。同时将堆栈移动到黄色条的左侧。现在还要查看count和size值,并查看有多少分配(count)和may字节是如何完成的。我看不到计数列,因此无法回答此问题。但是整个AIFO只有2.76MB,所以这个很小。AOFO没有标签。AOFO代表在跟踪外部分配的ad自由跟踪外部。所以没有洛伊克。您还必须查看AIFO,它在跟踪期间分配,但没有释放。如果可能,共享ETL(将oneDrive共享链接发送到我的用户名{a T]Ao L(D o T]c o m),以便我可以查看。好的,是的,一些文件使用来自csrss.exe。跟踪不知何故已损坏,它丢失了加载调试符号的数据,但我看到使用了RDPUDD.dll,因此看起来您使用了远程桌面服务,并且有多个用户登录到服务器(我看到几个csrss.exe、winlogon.exe和smss.exe进程)。总的来说,这意味着更高的池使用增加了命令中的文件大小,以便在跟踪中包含更多数据(-MaxFile 3072)。但是处理大文件是WPA中的一个窗格。WPA在这里很慢。好的,文件也是您最大的标记。因此,当文件标记使用量增加时,请执行xperf跟踪。您需要打开C:\trace\u pool\u alloc.etl并加载符号。同时将堆栈移到黄色条的左侧。现在,还要查看计数和大小值,并查看分配的数量(count)关于may字节是如何完成的。我看不到count列,因此无法回答此问题。B