C# 在C中获取线程的内存统计信息#
我只是想问一下,是否有办法获取线程的内存统计信息(即工作集、私有内存等)。我知道我们可以为一个进程获取这些数据,但我的应用程序需要运行一组测试,对于每个测试,我需要获取统计数据,尤其是峰值内存。现在我做这件事的唯一方法是为每个测试运行应用程序,并获得进程的峰值内存 是否有可能获得线程级内存统计数据的方法 谢谢。线程没有内存统计信息 堆内存不与任何单个线程关联。C# 在C中获取线程的内存统计信息#,c#,multithreading,memory,C#,Multithreading,Memory,我只是想问一下,是否有办法获取线程的内存统计信息(即工作集、私有内存等)。我知道我们可以为一个进程获取这些数据,但我的应用程序需要运行一组测试,对于每个测试,我需要获取统计数据,尤其是峰值内存。现在我做这件事的唯一方法是为每个测试运行应用程序,并获得进程的峰值内存 是否有可能获得线程级内存统计数据的方法 谢谢。线程没有内存统计信息 堆内存不与任何单个线程关联。 您正在查找的信息没有意义。正如其他响应者所建议的,您无法按线程获取内存统计信息。您最好的选择是: 在应用程序域中运行并使用 在单独的进程
您正在查找的信息没有意义。正如其他响应者所建议的,您无法按线程获取内存统计信息。您最好的选择是:
不完全正确,存在[ThreadStatic]内存。“但是够近了!”汉斯:不太近。
[ThreadStatic]
字段中的对象消耗的内存与任何线程都没有关联。(引用或值类型是)当然是。直到线程终止,它才会被垃圾回收。@Hans:它被线程引用,但它与线程没有关联。如果愿意,您可以将同一对象放入两个不同线程中的[ThreadStatic]
字段中。您不认为堆栈空间与线程相关联吗?