gpt4 book ai didi

java - 如何复制正在运行的应用程序的 RAM,保存它,然后将其重新加载到 RAM 中?

转载 作者:行者123 更新时间:2023-12-01 12:06:01 26 4
gpt4 key购买 nike

我经常玩 retrofit 版的 Minecraft。这样做的一个缺点是,每当我启动 Minecraft 时,编译所有模组都需要花费大量时间。这可能需要大约 15 分钟左右的时间,在我看来,这太长了。当计算机运行应用程序时,它所做的一切都基于 RAM 中的输入和数据。我相当肯定,如果有人在某个时间点复制他们计算机的 RAM,并在另一个时间将这些数据放回 RAM 中,那么计算机将恢复到以前的状态。尽管如果 RAM 中的数据实际上与硬盘驱动器上的数据不一致,事情可能会崩溃(例如,如果 Windows 资源管理器在加载的 RAM 中打开并显示硬盘驱动器上可能并不真正存在的文件和文件夹)。

我认为有可能复制应用程序的 RAM 数据(在我的情况下,在所有内容编译和加载后需要几 GB 的 RAM)。我还认为,如果稍后将其插回 RAM,应用程序将显示为已加载,而无需等待代码编译。我该怎么做呢?我认为它类似于模拟器中的保存状态加载。

最佳答案

I'm fairly certain that if one was to copy the RAM of their computer at a point in time and put that data back into RAM at another time, the computer would return to its former state.



这对你很有洞察力;这正是计算机“hibernate ”时发生的情况 [1]。您也是正确的,除非 总计 RAM 的状态被保存和恢复,或者如果允许计算机在存储和恢复之间运行,很可能会发生奇怪的事情。

可以想象为单个应用程序存储/恢复 RAM 状态,但这将是一项复杂的操作,即使我在 IT 领域工作了 25 年以上,我也没有听说过可以执行此操作的应用程序。

... 除了 Phil Brubaker 的评论,其中提到了虚拟机。如果您在物理机上运行的虚拟机中运行 Minecraft,您可以像 Phil 提到的那样:在任何时候存储和恢复 VM 的运行状态 - 例如,在 Minecraft session 结束时。 “快照”(再次,正如 Phil 所提到的)是如何完成的。

(VM 应用程序可能会提供“暂停”功能,虽然这在某些细节上可能与该 VM 应用程序的“快照”功能不同,但效果是一样的,就像物理机的 hibernate :运行状态(即,RAM 的内容和 CPU 在那个时刻正在做什么的一些细节)被保存到磁盘,并且可以在以后恢复以将 VM 准确地带回到它被快照/暂停时的位置。 )

因此,我建议在网络上搜索“[在此处填写您的操作系统] 的虚拟机应用程序”。 VMWare 和 VirtualBox 将成为热门;还会有其他人,具体取决于您的操作系统等。

[1] 注意“hibernate ”是不同的:在 hibernate 状态下,只有一些组件被关闭,比如硬盘,它通常一直在旋转,不管它是否真的在读/写数据。所以 sleep 是为了节省能源而进行的部分关机。 hibernate 是一种长期的、非常低功耗的模式。

关于java - 如何复制正在运行的应用程序的 RAM,保存它,然后将其重新加载到 RAM 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60979381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com