Jor*_*eFG 4 virtualbox cpu-load memory-usage
我有 12.04 没有问题,但自从我升级到 14.04 后,我注意到系统对于 UI 任务来说非常慢,当我第二天上班时(计算机保持开启),我输入密码,它需要像1分钟登录。
但是,top 或 htop 不会显示显着的 CPU 使用率。写这篇文章并右键单击一个单词以使校正器工作需要10秒才能显示菜单和鼠标指针在我移动它时传送,这太慢了。
现在我已经关闭 VirtualBox 好多了,所以我认为问题可能来自那里。
VirtualBox 为 4.3.10_ubuntu,VM 为 Win7,标有“使用 3d 加速”。
但是由于 htop 没有显示出大量的 CPU 使用率,您认为可能是什么原因造成的?

VirtualBox 为您的系统使用了过多的 RAM,并且您不断地进行交换。我修饰了图像以使其可见:

VirtualBox 的虚拟内存要求几乎与物理 RAM 的大小相同。
您为虚拟机分配了多少内存?根据我的经验,超过总物理 RAM 1/3 的所有东西都会带来麻烦和减速。
它下的 java 进程也可能是问题的一部分(它是 2.8G!)--- 很有可能 VirtualBox 和那个进程正在争夺 RAM 和活锁,一起交换疯狂。
更详细地说:虚拟大小是进程“映射”的内存,也就是它认为自己拥有的内存——任何时候只有一部分真正在 RAM 中,而那部分是标有 RES 的那部分(对于居民)。如果程序试图访问位于其虚拟池中但不在 RAM 中的内存,并且内存已满,则必须换出一些其他内存来为新内存腾出空间。所以,如果你有两个进程之间用虚拟和驻留内存有很大的区别,没准这两个被换出在每个调度交换机的另一个---使系统慢如蜗牛---交换内存可以数以百万计的时间比RAM慢。
它发生在长时间不活动之后的事实可能是因为系统已经确定了进程之间的 RAM 分区,该分区或多或少地满足了该工作负载的所有要求。当你再次改变工作负载的种类时,程序的不同部分被加载,交换狂潮开始了。如果你等待必要的时间(可能是几个小时!),系统或多或少会找到另一个合适的平衡;这是不好的短暂性。
关于你的情况:
有了 4G 的 RAM,拥有 1.5G 的虚拟机就可以了,如果它是系统中唯一需要内存的进程。可能那个和IDE太多了。
肮脏(和危险)的把戏
要恢复响应式系统,我所知道的更快的方法是强制交换;但这有时是相当危险的。基本思想是做一个
sudo swapoff -a
Run Code Online (Sandbox Code Playgroud)
等待完成...
sudo swapon -a
Run Code Online (Sandbox Code Playgroud)
这将尝试将所有内存放回 RAM 中。如果不能,进程将在此过程中被无情地杀死。为了避免一些无辜且重要的系统进程(1)死亡,最好的方法是在执行交换之前尝试关闭内存占用。
(1) 内核的OOM(内存不足)杀手会尝试杀死正确的进程,但它不是万无一失的。
| 归档时间: |
|
| 查看次数: |
1528 次 |
| 最近记录: |