
[此問題已被標記為重複(與圖形驅動程式相關),但事實並非如此。我有追蹤問題至系統上執行的 VMware Workstation 12。該問題是由暫停和恢復 VMware Workstation 觸發的。
自從升級到 Kubuntu 15.10(從 14.04 LTS)以來,一些顯示 JPEG 和 PNG 檔案的程式正在佔用很長時間跑步。例如,過去可以立即顯示的 1.5 MB JPEG,現在需要 10 秒以上才能顯示在螢幕上。 2 MB 的檔案需要 20 秒以上。
這是在一台非常快速的電腦上(12 核心、SSD、32 GB RAM)。
受影響的程序包括:
- 顯示(從 Imagemagick 6.8.9-9 開始)
- eog(GNOME 影像檢視器 3.16.3)
- geeqie(1.2版)
不受影響的程序包括:
- 跛子
- 十五
- Chrome(如果我輸入「chrome IMG_3123.JPG」)
範例檔:
$ ls -l IMG_3123.JPG
-rw-r--r-- 1 smith users 1562373 Sep 12 07:14 IMG_3123.JPG
當我跑步時:
$ display IMG_3123.JPG
顯示影像需要 10 秒。在Kubuntu 14.04下,花了不到1秒。
筆記:如果我重新啟動,問題就會消失。然後它會在一段時間後返回。
我也看到其他 GUI 應用程式中的隨機緩慢就像 Chrome 一樣。我想知道這個問題是否與顯示卡驅動有關?或一些公共圖書館?
我的圖形資訊是:
$ sudo lshw -class display
*-display
description: VGA compatible controller
product: GK107 [GeForce GT 640]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nouveau latency=0
resources: irq:46 memory:fa000000-faffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:e000(size=128) memory:fb000000-fb07ffff
所以我正在運行 nouveau 驅動程序,但我很確定我也在 Kubuntu 14.04 中運行 nouveau。
更新:
我試過安裝 nvidia 專有驅動程式並重新啟動。我在啟動時看到一個新錯誤:
Kubuntu 15.10
. . . .
EDAC sbridge: ECC is disabled. Aborting.
EDAC sbridge: Couldn't find mci handler
重新啟動完成後,我無法使用圖形登入畫面登入。我輸入密碼並立即返回登入畫面。 /var/log/syslog 中的錯誤說:
Nov 23 15:35:04 myhost systemd[1]: Started Session c4 of user smith.
Nov 23 15:35:04 myhost console-kit-daemon[2945]: (process:10614): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Nov 23 15:35:04 myhost gdm[2819]: GdmDisplay: display lasted 0.044295 seconds
Nov 23 15:35:04 myhost console-kit-daemon[2945]: (process:10623): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Nov 23 15:35:04 myhost console-kit-daemon[2945]: GLib-CRITICAL: Source ID 121 was not found when attempting to remove it
Nov 23 15:35:08 myhost gnome-session[3177]: GLib-GObject-CRITICAL: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
Nov 23 15:35:09 myhost gnome-session[3177]: gnome-session[3177]: GLib-GObject-CRITICAL: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
所以我卸載了nvidia驅動並重新啟動,系統恢復正常。
我嘗試安裝其他版本的nvidia驅動程序,但出現了相同的問題,所以我仍然沒有解決方案。
更新2:
好吧,這很奇怪。問題又出現了,JPEG 檔案需要 20 秒才能開啟。我關閉了 VMware Workstation (12.0.1),它作為來賓運行了幾個 Windows 虛擬機,並且出現了問題立即停止。這與記憶體無關,因為即使在關閉 VMware 之前我還有 28GB RAM 可用。
答案1
您正在使用 Nouveau 驅動程序,並且使用 Ubuntu 軟體中心的“其他驅動程式”部分中提供的圖形驅動程式之一可能會獲得更好的結果。
我將此問題標記為“如何安裝附加驅動程式”的重複問題,它應該可以幫助您很好地完成整個過程。我提醒你也要仔細閱讀如何卸載nvidia驅動首先,請注意,在更新發行版時(例如從 Ubuntu 14.04 到 Ubuntu 15.10),最好先停用專有圖形驅動程式!
答案2
僅當 VMware Workstation 執行來賓作業系統時才會觸發此問題。它是透過以下方式解決的禁用核心中的透明大頁。我注意到這一點是因為當問題發生時,三個不同的進程都達到了 100% CPU 使用率(或更高):
- 圖形程式(例如 geeqie 或 display)
- vmware-vmx(VMware Workstation 來賓)
- 胡格佩吉德
讀Dan Ritter 對 khugpaged 和透明大頁的非常好的描述。
因此,該問題與圖形驅動程式無關。 nvidia 和 nouveau 驅動程式也同樣出現這種情況。