資工問題雜筆

[資工雜筆] 解決Xorg造成高CPU使用率問題

清完風扇以來,我的筆電一直很正常,不過這兩三天,我的筆電只要開著超過3小時,CPU溫度就飆到70多度,CPU使用率也都接近90%。於是就花了點時間,查查看要怎麼解決這個問題。不然連用個vim也會一直當,實在不是辦法啊。

首先,我先用

top

看一下,到底是哪一個程式佔著我的CPU資源不放。

由圖中,可以看到是chrome明顯吃著我的資源。可是沒道理,我之前連開個2 30個分頁,我的電腦還是一點事都沒有啊,這次我只開幾個分頁而已,就吃這麼多。此外,有一個Xorg的東西也佔著很多的資源,或許跟這個有關係。查了一下,才知道,原來Xorg這個東西和電腦顯示有關係。

https://wiki.ubuntu.com/X/Troubleshooting/HighCPU

High CPU loads will be noted under this condition especially when moving windows, scrolling in firefox, and when compiz is enabled. This is normal – you’re using the CPU to make up for the lack of GPU. Question is, where-for-art-thou GPU?

現在知道跟GPU有關係了,這是因為電腦拿一部分的CPU來跑GPU的東西,可這很沒道理啊,以前GPU就跑的好好的,沒事為什麼要花CPU資源= =

此外,實驗性的把chrome全部都關掉,電腦瞬間正常。可以更加確定是跟Xorg有關係。

http://www.linuxquestions.org/questions/linux-general-1/high-xorg-cpu-usage-slow-graphics-performance-on-cedarview-d2550-nm-chipset10-4175504929/

Your system doesn’t use the driver for your videochip, but uses software rendering over llvmpipe, so your CPU is doing all the drawing work, instead of your GPU. This explains the slow rendering and high CPU usage. Have you tried to specify the driver for that chip in your xorg.conf?

所以,應該是跟GPU的driver有關係,可能driver換了,或者是miss了。接著,又查到這篇,

http://askubuntu.com/questions/28033/how-to-check-the-information-of-current-installed-video-drivers

Here is an easier solution, using GUI instead of command line. on the Ubuntu desktop, choose:
System Settings > Software and updates (in the bottom) -> Other drivers (the right most tab).
This is a list of your video driver’s information.

照著做,問題就解決了。回想一下,可能是我前幾天在重弄virtualbox的時候,灌了什麼東西,然後系統自動幫我switch到xorg這個open source的driver,所以才會產生這些問題。

補記 2016 1/1 新年第一篇

information by從恩

blog:

https://joshua5201.github.io

剛剛跟從恩討論一下,他說Xorg是一個diaplay server,也就是說firefox、gnome、libreoffice是client
,而server負責依應用程式需要把東西畫在螢幕上。之前出問題的時候,那時候的driver,應該是nouveau這個開源的driver,而後我切到nvidia自己的driver時,就沒有這個問題了。不過我剛剛又回去看了一下我目前的driver,似乎又回去nouveau,或許我最近chrome會卡卡的,也是跟這個有關係。

補個noveau的資訊

http://www.x.org/wiki/Projects/Drivers/

是個開源的driver,採用類似逆向工程的方式去做出來的。因為一般來說,driver都是由硬體廠商提供,當然就會跟他們自己出的硬體比較match,所以就是GPU render的。昨天我問從恩的時候,他說開源的driver因為是採用逆向工程的方式去做出來的,也就是摸黑硬幹出來的,所以對硬體的支援或許沒那麼好,也就會用到CPU render,或許這就是導致我CPU使用率爆衝的原因。

2 thoughts on “[資工雜筆] 解決Xorg造成高CPU使用率問題

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s