歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 解決VirtualBox下XP虛擬機占用CPU達100%的問題

解決VirtualBox下XP虛擬機占用CPU達100%的問題

日期:2017/2/28 16:29:33   编辑:Linux教程

最近因為一些原因要使用VirtualBox來跑虛擬機,果然就是Sun自家的東西好用,對Solaris完美支持,而且對各類新的主流Linux發行版都提供了完美的支持,無奈VirtualBox下跑XP總會莫名其妙出現XP虛擬機的CPU占用達100%的現象,開始還總以為是VirtualBox不爭氣,後來終於找到了正確答案,尊重原作者版權,現Mark一下,留做備用:

本文由五步蛇原創。

一直使用VirtualBox虛擬機,但是忘記什麼時候,一開虛擬機就占用100%的CPU,也不知道是VirtualBox升級的問題還是由於換了 Win7,在學校沒什麼事的時候也就沒怎麼用,不過這兩天弄東西經常用,但是卻死活擺脫不了占用100%CPU的問題,甚至有了換虛擬機的想法,但是捨不 得裝的這幾個系統,值得慶幸的是這個問題終於解決了。

問題:在win7裡用VirtualBox安裝XP,在使用過程中XP的CPU占用100%,win7的CPU也占用100%。先是搜了幾個中文網站的答案,大概存在這麼幾個方法。

1. Ubuntu下安裝虛擬機,將CPU頻率調節策略設置為Conservative

具體方法:

# vim /etc/sysfs.conf

# 加入

devices/system/cpu/cpu0/cpufreq/scaling_governor = conservative

devices/system/cpu/cpu0/cpufreq/scaling_max_freq = 你的CPU主頻

另外/etc/modules裡要加上相應的模塊

2. 開兩個虛擬機,這個方法我用了,確實管用,但只在兩分鐘之內有效。

3. 新建一個guest,不用分配硬盤,將RAM設為4M,與你的其他guest一起運行即可。這個我試了,不好使。

還有其他的建議,無非就是關掉一些亂七八糟的功能,但是都沒有解決問題。www.linuxidc.com於是用英文搜索,終於找到了方法。也看到有老外用上邊的第三種方法,說明在某種環境下,這個方法確實應該有用。

下面介紹正解。

方法:在Win7下裝了XP系統,或者類似的情況下,在虛擬機中,stop and disable the Windows Firewall/Internet Connection Sharing (ICS) services,也就是關閉防火牆並且關閉ICS,關閉ICS這個我沒有做,單純的關閉防火牆就立即解決了問題,XP中CPU的使用降到20%以 下,win7中的CPU在10%左右。事到如今,證明我已經成功地解決了這個問題。至於關閉防火牆的具體步驟我就不說了,關閉ICS的步驟參照這裡:http://support.microsoft.com/kb/306126。

簡單的分析了一下原因,太深奧的原理我也弄不明白。國人大多以為是虛擬機的問題,有的懷疑是電腦的CPU和VirtualBox不兼容的問題,還推薦去買 什麼什麼樣的CPU,但是個人認為這和虛擬機沒有多大的關系,運行Ubuntu的時候就不會占用那麼多資源,實際上在WIKIPEDIA中對ICS也就是 因特網連接共享有這樣的說明:在winxp sp3中ICS有一個bug。所以完全可以推測正是因為這個bug導致虛擬機運行時占用了100%的資源,與外界傳輸數據的渠道發生了堵塞,自然會影響運行。

綜上所述,問題解決了。這件事情告訴我們:學好英語很重要。

Copyright © Linux教程網 All Rights Reserved