Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.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/6/multithreading/4.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# 在C中获取线程的内存统计信息#_C#_Multithreading_Memory - Fatal编程技术网

C# 在C中获取线程的内存统计信息#

C# 在C中获取线程的内存统计信息#,c#,multithreading,memory,C#,Multithreading,Memory,我只是想问一下,是否有办法获取线程的内存统计信息(即工作集、私有内存等)。我知道我们可以为一个进程获取这些数据,但我的应用程序需要运行一组测试,对于每个测试,我需要获取统计数据,尤其是峰值内存。现在我做这件事的唯一方法是为每个测试运行应用程序,并获得进程的峰值内存 是否有可能获得线程级内存统计数据的方法 谢谢。线程没有内存统计信息 堆内存不与任何单个线程关联。 您正在查找的信息没有意义。正如其他响应者所建议的,您无法按线程获取内存统计信息。您最好的选择是: 在应用程序域中运行并使用 在单独的进程

我只是想问一下,是否有办法获取线程的内存统计信息(即工作集、私有内存等)。我知道我们可以为一个进程获取这些数据,但我的应用程序需要运行一组测试,对于每个测试,我需要获取统计数据,尤其是峰值内存。现在我做这件事的唯一方法是为每个测试运行应用程序,并获得进程的峰值内存

是否有可能获得线程级内存统计数据的方法

谢谢。

线程没有内存统计信息

堆内存不与任何单个线程关联。

您正在查找的信息没有意义。

正如其他响应者所建议的,您无法按线程获取内存统计信息。您最好的选择是:

  • 在应用程序域中运行并使用

  • 在单独的进程中运行,并使用上的属性:System.Diagnostics.process(对于正在运行的进程)


  • 不完全正确,存在[ThreadStatic]内存。“但是够近了!”汉斯:不太近。
    [ThreadStatic]
    字段中的对象消耗的内存与任何线程都没有关联。(引用或值类型是)当然是。直到线程终止,它才会被垃圾回收。@Hans:它被线程引用,但它与线程没有关联。如果愿意,您可以将同一对象放入两个不同线程中的
    [ThreadStatic]
    字段中。您不认为堆栈空间与线程相关联吗?