我需要知道何时为特定程序分配内存。如何查看内存的分配位置。
答案 0 :(得分:5)
你需要更具体的操作系统,如果它被解释或运行时编译(如PHP,JAVA,.NET等),可能需要语言。
但是,一般来说:
应该注意的是,即使已经为OS分配了内存,它实际上可能还没有被分配 - 操作系统会等到内存被使用之后才会获得它的页面。内存分析器将帮助您了解给定进程的发生位置和时间。
分配内存的地方是一个更大的问题。有几点需要考虑:
您对哪种观点感到好奇?您是在编写在感兴趣的程序中运行的代码,与它共享内存,在同一个OS上运行,在同一个CPU上运行,还是将逻辑分析器连接到内存总线?
- 亚当
答案 1 :(得分:2)
我会在这里采取刺激并推荐dotTrace,这是我用过的最好的剖析器。它会告诉你内存使用情况等等。
答案 2 :(得分:1)
安装Process Explorer,在列表中找到您的应用程序/进程,右键单击“属性”,“性能”选项卡。
答案 3 :(得分:1)
就像一个警示性的故事,即使你自己没有多少分配,你使用的库可能会进行大量的分配,所以你需要一些与内核或框架相关的东西。正如Ben Hoffstein所说,dotTrace可能是.Net应用程序的一个很好的解决方案(我在查看问题的标签后才意识到这一点)