我刚刚发现我的系统没有任何交换空间
如果是这样,则可能是问题所在。
通过使用具有大量内存分配的多个VM,通常会超出正常使用范围的内存(8GB)会变得越来越紧,这意味着您的系统将无法使用那么多的缓存,并且想要交换。现在,如果没有交换,内存上的压力将更大,甚至可能由于内存不足而导致任务被杀死。
Swap通过将内存中一些已分配但很少使用的数据重新分配到磁盘上,以释放正在使用的数据的内存,从而尝试在上述情况下提高整体稳定性和性能。如果您确实没有交换,则添加交换将有所帮助。但是,就性能而言,如果您购买更多的RAM或使用更少的RAM,您将获得更大的改进。
在一个系统,你运行的虚拟机,但你在那里还使用VM主机上的常规桌面,你不想让你的虚拟机占用你所有的RAM,其实我节省一半的RAM(最大支持4GB ),因为您正在主机上运行软件并希望它能够响应。
还要注意,VM固有的效率低下不仅是因为它们的RAM是完全独立的,它们不共享任何缓存或缓冲区,而且它们在多个抽象层下运行着一个完整的独立OS。因此,如果您决定在主机上而不是在VM中运行某些程序,则始终可以获得更高的效率-尽管如果使用VM的目的是使用其他操作系统,则将无法实现。
有什么方法可以确保在系统崩溃时UI保持响应状态?
当您拥有的RAM数量有问题时,您只能做一个破解-真正的解决方案是购买更多RAM(尽管就我而言,您可能只分配了更少的VM)。
您的问题用简单的术语表示-即使IO拥塞,您也希望UI能够继续平稳运行。但是,答案很复杂。您的系统已经尽了最大的努力:不需要磁盘访问的操作不会被延迟。如果您的“ UI停顿了”,那是因为负责该UI的特定进程需要磁盘访问权限。在内存不足的情况下,以及磁盘发生故障时,由于磁盘缓存的耗尽,即使通常通常是微不足道的某些操作(例如从主目录读取一些配置以了解您的显示首选项)也会很慢。
我可以想象像“不错”的内存(这样我就可以很好的Chrome和我的VM)
确实没有“很好的记忆”。内存访问是如此之快,以至于您通常几乎可以忽略它。当您发生故障时,不是内存,而是磁盘,这就是问题所在。因此有一个“离子”。虽然那可能不是我建议的问题。
另一个“内存不错”的等效概念是交换-您无法控制每个进程的交换方式,但是系统在确定您正在使用的进程方面做得很好,因此保留在其中的优先级更高内存。
但是正如我所说的,并且作为黄金法则,如果您的内存不足,那么购买更多的内存是最省心又省心的解决方案。