Ubuntu

為什麼 VMWare 會倒閉?如何從中恢復/預防?

  • May 9, 2012

我在帶有 Ubuntu Server 10.04 LTS 系統(核心)的雙核 Intel i5 上執行 VMWare Server 2.0.2(Build 203138 2.6.32-22-server #33-Ubuntu SMP)。磁碟子系統是一個軟體 RAID5 陣列。

該系統已經建立了一個多星期。在過去的 5 天裡,我一直在執行至少 3 個虛擬機(Linux 和各種 Windows 作業系統),沒有任何問題。但是當我將 Linux 安裝到一個新的虛擬機上時,突然間所有的虛擬機都沒有響應,包括我正在安裝的那個。我無法登錄到 VMWare 管理界面,並且系統通過 SSH 有點無響應。當我查看時top,我看到:

top - 16:14:51 up 6 days,  1:49,  8 users,  load average: 24.29, 24.33 17.54
Tasks: 203 total,   7 running, 195 sleeping,   0 stopped,   1 zombie
Cpu(s):  0.2%us, 25.6%sy,  0.0%ni, 74.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8056656k total,  5927580k used,  2129076k free,    20320k buffers
Swap:  7811064k total,   240216k used,  7570848k free,  5045884k cached

 PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                                                                                                               
21549 root      39  19     0    0    0 Z  100  0.0  15:02.44 [vmware-vmx] <defunct>
2115 root      20   0     0    0    0 S    1  0.0 170:32.08 [vmware-rtc]
2231 root      21   1 1494m 126m 100m S    1  1.6 892:58.05 /usr/lib/vmware/bin/vmware-vmx -# product=2;                                                                                                                                                                                       
2280 jnet      20   0 19320 1164  800 R    0  0.0  30:04.55 top 
12236 root      20   0  833m  41m  34m S    0  0.5  88:34.24 /usr/lib/vmware/bin/vmware-vmx -# product=2;
   1 root      20   0 23704 1476  920 S    0  0.0   0:00.80 /sbin/init                                                                                                                                                                                             
   2 root      20   0     0    0    0 S    0  0.0   0:00.01 [kthreadd]                                                                                                                                                                                             
   3 root      RT   0     0    0    0 S    0  0.0   0:00.00 [migration/0]                                                                                                                                                                                          
   4 root      20   0     0    0    0 S    0  0.0   0:00.84 [ksoftirqd/0]                                                                                                                                                                                          
   5 root      RT   0     0    0    0 S    0  0.0   0:00.00 [watchdog/0]                                                                                                                                                                                           
   6 root      RT   0     0    0    0 S    0  0.0   0:00.00 [migration/1]                                                                                                                                                                                          

我正在安裝的虛擬機的 VMWare 程序變成了殭屍。然而,它仍然在其中一個核心上消耗 100% 的 CPU 時間,我無法訪問它或任何其他虛擬機。(我通過 SSH 登錄到一個虛擬機,另一個通過 X11 登錄,第三個通過 VNC 登錄。所有三個連接都斷開了)。當我執行ps -ef類似命令時,我發現已失效的vmware-vmx程序將其父 PID 設置為init(1)。我還使用lsof -p 21549並發現已失效的程序沒有打開的文件。然而它正在使用 100% 的 CPU 時間……

我無法殺死任何 vmware-vmx程序,包括已失效的程序,即使使用kill -9. 作為解決這種情況的最後手段,我嘗試重新啟動盒子,但是,即使給出了適當的設置,shutdown所有這些都無法重新啟動/關閉halt。在控制台上生成有關重新啟動的消息,但係統不會重新啟動。我不得不硬重啟盒子來解決這種情況。(請參閱我的另一個問題,在崩潰或核心崩潰後,我是否應該擔心我的 linux 軟體 RAID5 的完整性?reboot``init 6``--force``Control``Alt``Del

什麼會導致這樣的場景?除了硬重啟,我還能做些什麼來解決它?我能做些什麼來防止將來發生這種情況?

不幸的是,我從來沒有找到解決這個問題的辦法。這似乎只是 VMware Server 固有的問題。

我們已經遷移到 VMWare ESXi。世界更好,沒有可比性!我從來沒有遇到過任何類似的 ESXi 問題。

查看此 VMWare 論壇文章,看看是否有幫助:http: //communities.vmware.com/message/531884#531884

如果您有 RAM,則禁用記憶體共享通常是一個好主意。

我在這裡編譯了一些用於 Ubuntu 上的 VMWare Server 2 的優化:http: //www.stress-free.co.nz/vmware_server_20_optimisations

我從未遇到過您描述的問題,我正在使用 Ubuntu Server 8.04LTS 和 10.04LTS(32 位和 64 位)執行生產伺服器。

引用自:https://serverfault.com/questions/149065