如何保护自己免受内存消耗失控导致电脑崩溃的情况?

2024-04-24

我时不时地发现自己做了一些相当愚蠢的事情,导致我的程序分配它可以获得的所有内存,然后分配一些内存。

过去,这种情况会导致程序因“内存不足”错误而很快死掉,但现在 Windows 会不遗余力地将这些不存在的内存提供给应用程序,而且实际上显然已经准备好这样做会自杀。当然不是字面上的意思,但它会严重缺乏可用的物理 RAM,甚至运行任务管理器也需要半小时的交换(毕竟失控的应用程序仍然在分配越来越多的内存)。

这种情况并不经常发生,但一旦发生,那就是灾难性的。我通常需要重置我的机器,有时会导致数据丢失,并且通常会带来很多不便。

您有什么实用的建议可以减轻此类错误的严重后果吗?也许进行一些注册表调整来限制允许应用程序分配的最大虚拟内存量?或者某些 CLR 标志将仅限于当前应用程序? (通常在 .NET 中我自己这样做。)

(“不要耗尽内存” and “购买更多内存”没有用——前者我无法控制,后者我已经控制了。)


每当运行有风险的应用程序时,您都可以保持命令提示符打开。然后,如果它开始失控,您不必等待任务管理器加载,只需使用:

taskkill /F /FI "MEMUSAGE ge 2000000"

这将(理论上)强制杀死任何使用超过 2GB 内存的东西。

Use taskkill /?获取所需选项的完整列表。

编辑:更好的是,每隔几分钟将命令作为计划任务运行一次。任何开始崩溃的进程都会被自动消灭。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何保护自己免受内存消耗失控导致电脑崩溃的情况? 的相关文章

  • Task.Delay 是否真的像 I/O 操作一样异步,即它依赖于硬件和中断而不是线程?

    我发现了大量相关内容 但这些内容都是拐弯抹角的 但我始终无法找到答案 我几乎 100 确定Task Delay int 不使用线程 因为我可以在只有 16 个逻辑处理器的机器上运行此代码 var tasks new List
  • 使用 IIS Express 托管网站(临时)

    我有一个网站 MVC3 其开发托管在 IIS Express 中 我遇到了 Cassini Devserver 的错误 不得不升级 现在 我想知道是否可以让本地网络上的其他计算机 在路由器后面 看到托管在我的计算机上的站点 例如 如果我写h
  • BackgroundWorker 如何决定在哪个线程上运行 RunWorkerCompleted 处理程序?

    我试图弄清楚 BGW 在工作完成后如何决定运行 RunWorkerCompleted 处理程序的线程 我的初始测试使用 WinForm 应用程序 在 UI 线程上 我开始bgw1 RunWorkerAsync 然后我尝试开始bgw2 Run
  • 将无限范围的值映射到 10 种颜色?

    我有以下 10 种颜色的列表 public static readonly IList
  • 捕获由纯 C++ dll 中的 MFC 应用程序生成的 Windows 消息

    首先 这可能吗 我有一个与某些硬件接口的第三方 dll 它是用MFC编写的 我 从 dll 供应商处 收到了一个示例 Visual Studio 2010 解决方案 该解决方案只有一个项目 调用相关第三方 dll 的 MFC 应用程序 ex
  • async-await 如何“节省线程”?

    我知道使用无线程异步有更多线程可用于服务输入 例如 HTTP 请求 但我不明白当异步操作完成并且需要一个线程来运行它们时 这如何不会潜在地导致线程饥饿继续 假设我们只有 3 个线程 Thread 1 Thread 2 Thread 3 并且
  • 如何在C#中模拟鼠标点击?

    如何在 C winforms 应用程序中模拟鼠标点击 我结合了多个来源来生成我当前正在使用的下面的代码 我还删除了 Windows Forms 引用 以便我可以从控制台和 WPF 应用程序使用它 而无需其他引用 using System u
  • Windows下如何分配非分页内存

    当我使用 cudaHostAlloc 时 它将分配非分页 固定 页面锁定 内存 我想知道如何在没有 cuda 的情况下仅使用 Windows SDK 来做到这一点 None
  • 将 CSV 文件上传到 SQL 服务器

    上传大文件的最佳方式是什么csv使用 C 将数据文件导入 SQL Server 该文件包含大约 30 000 行和 25 列 首先 你不需要编程的东西 您可以使用 SQL 管理工具直接将 CSV 文件上传到 SQL 数据库 但是 如果您确实
  • 一次强制执行一个异步可观察对象

    我正在尝试使用以下方法将一些 TPL 异步集成到更大的 Rx 链中Observable FromAsync 就像这个小例子一样 using System using System Reactive Linq using System Thr
  • 前景色中的 Alpha

    我想在标签控件中创建文本的淡入淡出效果 我更改了标签前景色中的 Alpha 值 但它不受影响 我在这里看到同样的问题 http phorums com au showthread php 190812 Alpha value of the
  • 按属性值选择 XML 节点

  • RadioButton 和 DropDownList 的 MVC 服务器端验证

    使用 ASP NET Core 2 2 Razor Pages 我正在探索将单选按钮和下拉列表绑定到页面模型 很多人都在询问客户端验证以 使其正常工作 我的问题是 当我查看这段代码时 绑定引擎是否正在执行任何服务器端检查 foreach v
  • 如何安装适用于 Windows C++ 的最新版本 OpenGL?

    我正在使用 Visual Studio 2010 运行 Windows 7 包含的 OpenGL 版本 include 是版本 1 1 我希望使用合理的当前版本 某种版本 3 或 4 我需要做什么才能达到该状态 OpenGL SDK 页面位
  • log4net 未记录到数据库

    我有一个奇怪的问题 我的 log4net 设置没有将任何数据记录到数据库中 也没有引发任何异常来通知问题 我已经在一个名为 Log4net Config 的单独文件中定义了配置设置 并且 已经在程序集中引用了它 请注意 我通过 nuget
  • .NET Web 服务 (asmx) 超时问题

    我正在连接到供应商提供的 Web ASMX 服务并通过线路发送一组数据 当您向项目添加服务引用时 我的第一次尝试遇到了 Visual Studio 默认在 app config 文件中引发的 1 分钟超时 我把它增加到 10 分钟 又是一次
  • 当用户与 DateTimePicker 控件交互时会引发什么事件?

    我是 C 新手 在我的程序中使用 DateTimePicker Value Changed 事件 但我发现当用户单击箭头时发生 ValueChanged 事件 或者如果也以编程方式更改值 我只想识别 DateTimePicker 的用户交互
  • 如何使构造函数只能由基类访问?

    如果我想要一个只能从子类访问的构造函数 我可以使用protected构造函数中的关键字 现在我想要相反的 我的子类应该有一个构造函数 该构造函数可以由其基类访问 但不能从任何其他类访问 这可能吗 这是我当前的代码 问题是子类有一个公共构造函
  • .NET 配置(app.config/web.config/settings.settings)

    我有一个 NET 应用程序 它具有用于调试和发布版本的不同配置文件 例如 调试 app config 文件指向开发SQL服务器 http en wikipedia org wiki Microsoft SQL Server它启用了调试并且发
  • 如何修复 Delphi Prism ASP.NET 错误:“解析器错误消息:‘Oxygene’不是受支持的语言”

    我在 Delphi Prism 中编写了一个 ASP NET Web 应用程序 不是网站 在我的开发机器上一切正常 但是当我将其安装在测试服务器上时 出现以下错误 Server Error in MyApp Application Pars

随机推荐

  • aws CLI 比使用 boto3 更快吗?

    我有存储在 s3 存储桶中的包 我需要读取每个包的元数据文件并将元数据传递给程序 我用了boto3 resource s3 在 python 中读取这些文件 该代码需要几分钟才能运行 如果我使用 aws clisync 它下载这些图元文件的
  • 更好的 boost asio Deadline_timer 示例

    我正在寻找一个更好的例子boost asio deadline timer 给出的例子总是会超时并调用close方法 我尝试打电话cancel 在计时器上但这会导致函数传递到async wait立即被呼叫 在异步 tcp 客户端中使用计时器
  • 使用 Ant 遍历目录

    假设我有一个包含以下路径的 PDF 文件集合 some path pdfs birds duck pdf some path pdfs birds goose pdf some path pdfs insects fly pdf some
  • 异步 REST API 生成警告

    我正在使用 Spring boot 应用程序 我有一个返回 Callable 的休息控制器 GetMapping fb roles Timed public Callable
  • 在 UIView 子类中调用drawRect

    我已经对 UIView 进行了子类化 并且实现了一个 drawRect 我基本上希望在设置 CGPoint 这是此 UIView 的一个属性 之后调用此 drawRect 我该怎么做呢 这是我的代码 id initWithCoder NSC
  • 根据请求创建 Hibernate-Session

    我刚刚启动了一个简单的 Java 测试项目 它使用 Hibernate 管理一些实体 并提供 REST 接口来操作这些对象并提供一些额外的业务逻辑 REST 接口是使用 RESTEasy 和 Jetty 创建的 到目前为止 一切工作正常 但
  • 如何在不循环的情况下找到小于一个数的最大二的幂? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 如何在不循
  • Python Sci-Kit 学习:多标签分类 ValueError:无法将字符串转换为浮点数:

    我正在尝试使用 scikit learn 0 17 进行多标签分类 我的数据看起来像 training Col1 Col2 asd dfgfg 1 2 3 poioi oiopiop 4 test Col1 asdas gwergwger
  • Android 版 Eclipse 中的“调试为...”

    我是一名 Android 菜鸟 正在 Eclipse Galileo 3 52 环境中自学调试 我有一个小的 hello world 应用程序 可以在模拟器中正常运行 所以现在我想通过设置断点 查看变量等来练习调试 但是 运行 gt 调试为
  • MATLAB:让audioplayer()在函数结束后继续播放

    我正在使用使用以下子函数的代码 function playTone duration toneFreq Generate a tone samplesPerSecond 44100 the bit rate of the tone y si
  • 未安装分发证书/私钥

    使用 Xcode 9 1 构建 iOS 应用程序后 我想将其存档并将其上传到 appStore 进行 beta 测试 但点击按钮后出现以下问题Upload to the App Store 并选择Automatically manage s
  • 在 mvc3 中公开实体或 DTO 以查看的最佳实践是什么?

    我创建了自己定制的大量架构 包括针对不同技术的 n 层 目前正在使用 asp net mvc 框架进行 n 层架构 问题是我在数据访问层有实体框架 由于实体将拥有所有关系元数据和导航属性 因此它变得更重 我觉得直接通过 mvc 视图公开这些
  • 在俄罗斯方块项目中添加其他形状。循环逻辑辅助

    我正在创建一个俄罗斯方块克隆作为个人项目 以帮助我更好地绘制图像 移动图像以及学习碰撞检测 一切都很顺利 但我对让程序在第一个停止移动时向框架添加新的方块形状背后的逻辑感到困惑 到目前为止 我使用随机数生成器随机创建四边形 并将其添加到框架
  • Owin Context 每个请求使用单个实例

    app CreatePerOwinContext DataContext Create 我有上面的行来创建一个数据上下文 当我启动一个新的 MVC 5 项目时 该代码随项目一起提供 同时 我使用 autofac 在我的依赖注册器中为每个请求
  • Dia:图表编辑器:盒子对象的限制?

    如标题所示 我尝试为 hte 3d 图形引擎 ogre3d 开发尽可能少的方案 问题是大图方案 Ogre Root 类需要相当多的从它下降的箭头 用关系箭头连接框的模型是它们只能通过边界周围的特定点 称为 关节 或其他东西 进入 退出 但现
  • 使用像 FILE* 这样的 C 字符串

    我有一个 C 函数 可以从 a 中读取字符流FILE 我怎样才能创建一个FILE 在这种情况下从字符串中 Edit 我认为我原来的帖子可能具有误导性 我想创建一个FILE 来自文字字符串值 因此结果FILE 会表现得好像某处确实有一个包含该
  • 可以在 JavaScript 中强制打印机设置(纸张尺寸)吗?

    我需要将网络应用程序中的页面打印到 8 x 4 索引卡上 IE 不会将打印设置从一份打印保存到下一份打印 那么有没有办法以编程方式强制打印设置 看看这个 CSS3 示例http www w3 org TR css3 page size ht
  • java.lang.IllegalArgumentException:找不到 id 0x7f0c007b 的视图

    我尝试启动一个应用程序项目 现在出现以下错误 我从旁边找到的答案中尝试了很多 但没有发现我的错误 这是输出 E AndroidRuntime FATAL EXCEPTION main Process de christian heinisc
  • Meteor.WrapAsync 不返回值

    我一直在努力工作Meteor WrapAsync我读过了Meteor wrapAsync 语法 https stackoverflow com questions 26058205 meteor wrapasync syntax回答这个视频
  • 如何保护自己免受内存消耗失控导致电脑崩溃的情况?

    我时不时地发现自己做了一些相当愚蠢的事情 导致我的程序分配它可以获得的所有内存 然后分配一些内存 过去 这种情况会导致程序因 内存不足 错误而很快死掉 但现在 Windows 会不遗余力地将这些不存在的内存提供给应用程序 而且实际上显然已经