Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.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
C# 我的程序内存使用了100%!我怎么知道是什么占用了这么多的内存?_C# - Fatal编程技术网

C# 我的程序内存使用了100%!我怎么知道是什么占用了这么多的内存?

C# 我的程序内存使用了100%!我怎么知道是什么占用了这么多的内存?,c#,C#,我们有一个用C#编写的程序,用作服务器。这是一个Windows服务。这个程序经常使用机器的所有内存,但我不知道是什么原因造成的。我能做什么 我的程序已经用作正式服务器,我不能随意重新启动它,所以我不能使用任何工具,因为工具需要重新启动我的程序,不能附加到进程。我不知道潜在的有害代码,因为我的程序有这么多代码。有不同的工具可以帮助您调查类似的问题 最简单的方法是登录潜在有害代码的开始和过程 如果您不知道,如果代码可能是,您可以查看: 或从MS中释放一个,如: ,但使用起来并不那么直观。我建议您使

我们有一个用C#编写的程序,用作服务器。这是一个Windows服务。这个程序经常使用机器的所有内存,但我不知道是什么原因造成的。我能做什么


我的程序已经用作正式服务器,我不能随意重新启动它,所以我不能使用任何工具,因为工具需要重新启动我的程序,不能附加到进程。我不知道潜在的有害代码,因为我的程序有这么多代码。

有不同的工具可以帮助您调查类似的问题

最简单的方法是登录潜在有害代码的开始和过程

如果您不知道,如果代码可能是,您可以查看:

或从MS中释放一个,如:


,但使用起来并不那么直观。

我建议您使用。我认为这是非常容易和直观的使用,虽然相当强大的工具。它不是免费的,但如果您有内存问题,它是值得的。

您有应用程序的源代码吗?如果是这样的话,你明白它在做什么吗?展示你的作品,告诉人们你做了什么。听起来像是内存泄漏。。。它是否发生在应用程序的某个部分?您可以尝试根据您拥有的工具或运行Task Manager的最基本级别对其进行分析,并在某些操作期间观察内存使用情况,以查看是否可以看到内存泄漏出现的位置(即在服务的特定阶段)。请使用像.Net memory profiler这样的内存探查器。向我们展示一些您认为可能导致这种情况的代码。或者,如果您不知道是哪个部分导致了内存使用,那么就开始切块(注释掉大的部分),看看性能何时会提高是的,我已经尝试过了,但是,所有工具都无法连接到进程,必须重新启动promgram。我想写日志,但C#无法获得线程的内存使用@用户2538281:你确定JetBrains不能“连接到进程”吗?是的,我使用它,它只能在我用它启动程序时使用,不能连接到进程,不是吗?我使用了dotTrace Profiler 3.1seems实际上你是对的,有附加进程,但是为了性能而不是内存。你能像普通应用程序一样运行你的web服务吗?我可以这样做,把它改成普通应用程序,但有两个问题。1.我必须在官方环境中使用它,因为在我们的测试环境中,我们不能重现这一点,我们不知道操作用户做了什么会导致这一点。2.如果我在官方环境中使用它,我不允许使用配置文件工具,可能配置文件工具会导致性能不好。是否可以将它连接到进程?IIS和单机版?据我所知,您可以查看他们的网站以了解规格