c++ - 解决无限分配错误
问题描述
我的应用程序适用于大多数输入,但一些输入文件使它在某个时候分配越来越多的内存,直到它被系统的 oom 杀手杀死。
该应用程序需要几个小时才能运行,因此当它的内存使用量开始突破时,照看它并手动中断它不是一种选择。
我尝试使用 valgrind 的地块运行应用程序,但由于它被系统杀死,它永远不会产生输出文件。
是否可以选择让 massif 立即将其快照写入磁盘?
当被 SIGINT 中断时,Massif 似乎确实为应用程序生成了一个输出文件,所以这可能会起作用。是否有另一种工具将 SIGINT 发送到消耗超过一定内存量的进程?
解决方案
推荐阅读
- spring - spring如何过滤数据
- django - Sendgrid 电子邮件进入 Django Web App 中的垃圾邮件
- maven - 具有依赖项 pom 的 Spring Boot 应用程序中的测试套件执行
- mysql - 错误代码:1136。列计数与值计数不匹配
- node.js - Discord 使用 VoiceReceiver 保存用户语音
- visual-studio - 无法创建新的 .Net Core 控制台应用程序
- delphi - Delphi 10.2 TWebBrowser:文档属性在哪里?
- python-3.x - 我收到 ALB Lambda 错误 - 502 Bad Gateway
- karate - 空手道:将 jsonPath 发送到另一个功能时,“设置”功能看不到该 jsonPath
- php - PHP Mailer 发送数据不被接受的错误