我们有一个.NET应用程序,我们的客户认为它太大而无法进行大规模部署,我们希望了解是什么有助于我们的内存占用,并且可以在不完全放弃.NET和wpf的情况下做得更好.
我们有兴趣改进总大小和私人工作集(pws).在这个问题中我只想看看pws.VMMap通常会报告105 MB的pws.其中11mb是图像,31mb是堆,52mb是托管堆,7mb是私有数据,其余是堆栈,页表等.
这里最大的奖项是托管堆.我们可以直接在我们自己的代码中占用大约8mb的manged堆,即我们创建和管理的对象和窗口.其余的是由我们使用的框架元素创建的可能的.NET对象.
我们想要做的是确定框架帐户的哪个元素占这个用途的哪个部分,并且可能重新构建我们的系统以避免在可能的情况下使用它们.任何人都可以建议如何进行这项调查?
进一步澄清:
到目前为止,我已经使用了许多工具,包括优秀的ANTS分析器和带有SOS的WinDbg,它们允许我看到托管堆中的对象,但真正感兴趣的不是"什么?",而是"为什么? " 理想情况下,我希望能够说,"好吧,因为我们使用WCF,所以在这里创建了10mb的对象.如果我们编写自己的本地传输,我们可以节省8mb的x质量风险和开发工作."
不可能在300,000多个对象上执行gcroot.
我刚刚开始使用MySQL,我只能看到自己用字符串唤醒!我的意思是编译器无法捕获这样的错误,这只是一团糟!是否有一个包装器或我可以添加的某种类,它可以做一些简单的事情,比如创建一个添加表并询问args的函数?
我确定有这样的工具,但我找不到它或知道它的名字.
我试图让2个函数同时运行.
def func1():
print 'Working'
def func2():
print 'Working'
func1()
func2()
Run Code Online (Sandbox Code Playgroud)
有谁知道如何做到这一点?
我们有一个虚拟内存上升并持续一天以上的应用程序.两天后,它已攀升至约500MB.我已经尝试分析了命中数据库的应用程序以及大量的http和soap请求,但我Fastmm4显示没有泄漏.
我不确定如何或何时声称内存以及虚拟内存上升是否存在问题?
JD
我想要一个带水平滚动的简单TextView,我知道我使用HorizontalScrollview,我希望文本能够连续自动滚动.那可能吗?
哪个事件会通知我滚动条中的滚动已完成?我在面板中有一个滚动条。vScrollBar1_Scroll 事件告诉我滚动已经开始。我希望在停止时收到通知。在 C# 中使用哪个事件?
HI!我想设计一个包含不同位置的多个对象的视图.例如 - 如果viewmodel可以包含像对象列表(矩形)这样的字段,当我将成员更改/添加到列表时,新的矩形会出现在指定位置的视图中,这将是很棒的.我如何创建这样的视图/ viewmodel?
你好,我有一个问题,我想要你的帮助,我有一个名为citylink [10] [2]的表,我想在我继续我的代码之前进行检查,如果它是完整的继续,如果它不打破!我知道我应该使用if循环,但我不知道该放在里面!!
编辑
for(int i=0; i < citylink.length; i++) {
if(citylink[][]) {
body=pF.fetchPage(citylink[i][1]);
}
}
Run Code Online (Sandbox Code Playgroud)
我想首先检查我的表中是否有数据或至少5个第一列!!!然后插入正文并使用此命令