- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我目前正在单声道 (Mac OSX) 中运行一个程序,该程序读取一个非常大的数据文件并在聚合后创建摘要统计信息。
奇怪的是,我在程序的某个时刻收到以下错误消息:
垃圾收集器无法为主要堆部分分配 16384 字节的内存
我希望出现 OOM 异常,或者其他我可以使用的东西。我尝试通过以下方式增加最大堆大小:
export MONO_GC_PARAMS=max-heap-size=4g
但是,它最终告诉我需要将它设置为一个整数,尝试使用适当的零手动输入该值会导致在执行开始时出现 gdb 转储。
让我恼火的是,我认为在代码的这个特定部分中断的地方,机器上有 16384 字节可用,我认为它应该能够很好地进行 GC 并获得更多内存。
有人知道如何解决这个问题吗?
最佳答案
如果您使用的是 mono 2.10.8 或更高版本,您可以尝试使用更高级的 sgen 垃圾收集器执行 mono 应用程序,它不像默认 GC 那样保守。
它解决了我遇到的一些内存泄漏问题,也许您遇到了相关问题。
要使用 sgen 运行,您必须确保安装了 mono-runtime-sgen,然后在执行程序时使用以下命令行参数:
mono --gc=sgen YourProgram.exe
关于c# - 避免 Mono Cryptic GC 错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21970852/
我正在尝试创建一个从 std::map 或 std::unordered_map 获取键的函数。我可以使用简单的重载,但首先我想知道这段代码有什么问题。 template class TContain
我正在尝试在偏差 + 权重上实现 L1 范数。为此,我尝试将它们连接在一起并取平均值。 也就是说,我有一个偏差 b1(形状:[1,1])和权重 W1(形状:[ 1, xlen]).所以我天真地尝试沿着
我目前正在单声道 (Mac OSX) 中运行一个程序,该程序读取一个非常大的数据文件并在聚合后创建摘要统计信息。 奇怪的是,我在程序的某个时刻收到以下错误消息: 垃圾收集器无法为主要堆部分分配 163
我正在尝试使用 fopen() 将一个长字符串(>700.000 个字符)保存到服务器上的一个文件中。 $file = fopen($filename, 'w+'); fwrite($file, $c
我想在 MacOS X 服务器上启动 Tomcat,所以我编写了以下 plist 并将其放入 /Library/LaunchDaemons: Disabled
所以我正在阅读这本很棒的书,“暴力 Python”。在第 2 章中有一个 Python 脚本,它使用私钥对 Debian 机器或任何运行 SSH 服务器的机器进行身份验证,该服务器上有用户但没有强私钥
我有一个脚本可以检测我网站上的 Javascript 错误并将它们发送到我的后端进行报告。它报告遇到的第一个错误、假定的行号和时间。 编辑以包含文档类型: ... // -1){
我最近将我的 lambda Node.js 运行时从 8.x 更新到了 12.x。我升级了许多依赖项并优化了与 webpack 的捆绑和部署过程。 但是,我开始注意到 Cloudwatch 中的零星错
在 windows server 2016 上,安装了 docker,并尝试使用 nodejs 运行 docker 镜像。 docker 运行 stefanscherer/node-windows "
我正在尝试使用 maven-jaxb2-plugin 编译位于 http://www.aptatcip.com/APTA-TCIP-S-01%204.0_files/Schema%20Set.zip
我是一名优秀的程序员,十分优秀!