【发布时间】:2019-03-11 10:03:29
【问题描述】:
我有一个 Web 应用程序,它通过显示大量数据报告来占用大量内存。应用程序从 ajax 调用到 php 脚本获取所需的最少信息,然后处理所有内容并保存在内存中。
有些报告太大了,以至于浏览器在达到 PC 的内存限制(5GB/8GB 免费)之前就崩溃了......所以我用 C# CefSharp 制作了一个浏览器应用程序,我正在寻找增加内存大小的方法,所以它不会崩溃。
我尝试尽我所能最小化数据并尽可能使用引用(没有重复值),并且整个报告必须在内存中,以便用户可以正确搜索和导航。这些报告的日期范围最长为 3 个月,因此我不会给他们提供所有时间的报告。
我看到一些线程告诉我应该通过传递 args 和类似的东西来增加 jsHeapSize,但我不确定如何这样做以及它是否会起作用。
如何增加我的 CefSharp 组件的内存限制?
谢谢。
【问题讨论】:
-
@vasily.sib - 当用户有另外 3GB RAM 可用时,也许 chrome 不应该将开发人员限制为仅 2GB 内存?我的 Chromium C# 应用程序在 8GB 内存达到 5GB 时崩溃……这绝对是荒谬的。一定有办法增加 CefSharp 中的内存限制。
-
@vasily.sib 如果只有 500MB 或 1GB RAM 可用,我会理解他们是否让系统崩溃应用程序,但我有 3GB 可用,我需要查看整个报告。我们的用户将决定他们是否要使用该应用程序,必须有一种方法来增加内存大小。如果你不能回答这个问题,请不要再无礼了,去做一些有用的事情吧。
-
我不想失礼,抱歉。而且我无法回答这个问题(这就是我写 cmets 而没有回答的原因)。 There is another question 关于 V8 (Crome JS Engine) 的内存限制,可能会有所帮助。实际上,我认为这个问题无法回答,您应该找到另一种方法。
-
您使用的是 64 位进程吗?对于 32 位,您将被限制为 2gb,大地址感知为 3gb。如果它在 Chrome 中不起作用,那么使用 CefSharp 将不会有更好的运气。
-
@amaitland - 是的,我使用的是 64 位 Chrome。与 CefSharp 相同。但也许值得尝试远离 arg 的大地址。如何通过?
标签: javascript c# chromium cefsharp chromium-embedded