iT邦幫忙

DAY 1
7

Linux系統效能調教系列 第 1

Linux系統效能分析與探討 - [1] CPU的效能關鍵字

當系統效能不彰時,通常我們會說"卡卡的"、"lag"、"反應很慢"等等,但是到底效能的問題出在甚麼地方,上面的回答卻很不精確。要解決系統的效能問題,首先要能分辨癥結點在哪裡,所以第一天的主題是要跟大家介紹電腦系統中有哪些地方是跟效能有關的。或者說,當我們要分析系統效能問題時,必須要考量哪些面向。

電腦最重要的核心就是CPU,我們常用以下幾個面向來評斷CPU效能的好壞:
很高興第三度來挑戰鐵人賽,個人願在這裡分享工作或是學習的一些心得,也藉這機會跟IT同好像互切磋學習。今年我將以"Linux系統效能分析與探討"為題,挑戰30天連續不間斷地分享。我計畫在這個主題中分享這幾個項目:Linux系統效能設定、效能檢測工具以及效能分析方法三大項,也歡迎有興趣的朋友一起交流。

當系統效能不彰時,通常我們會說"卡卡的"、"lag"、"反應很慢"等等,但是到底效能的問題出在甚麼地方,上面的回答卻很不精確。要解決系統的效能問題,首先要能分辨癥結點在哪裡,所以第一天的主題是要跟大家介紹電腦系統中有哪些地方是跟效能有關的。或者說,當我們要分析系統效能問題時,必須要考量哪些面向。

電腦最重要的核心就是CPU,我們常用以下幾個面向來評斷CPU效能的好壞:

  1. CPU使用率(utilization)。CPU的使用率越高就表示CPU越忙碌,通常以百分比來表示。百分比越高一方面表示CPU全速在運作著,但是另一方面若是系統持續著很高的CPU utilization,也可能是某個環節發生了效能的瓶頸,才導致CPU如此緊繃。

  2. 使用者所占用的時間(user time)。在Linux作業系統中,程式區分為使用者與系統模式兩類。資料的運算與處理大多是屬於使用者模式,所以user time的比例越高,代表CPU大多在為使用者工作。

  3. 系統時間(system time)。不同於user time,system time代表CPU花在處理系統本身動作的時間,像是中斷處理等等。基本上,system time越高表示分給user的時間就漸少,這對user而言是不好的消息,因為CPU自己都很忙了,根本無暇來幫我做事。所以system time越少越好,太高表示有效能問題存在,需要進一步解決。

  4. 等待時間(waiting)。顧名思義,waiting就是指CPU花在等待的時間。等待的對象通常是I/O的動作,所以等待太多,通常是可能I/O系統出了問題。

  5. 閒置時間(idle)。CPU完全沒做事的時間,所以idle著等待使用者的命令。Idle當然越少越好,表示CPU有充分的利用。

  6. Nice time。在Linux作業系統中,CPU可以透過nice命令來調整執行程式的優先權,nice time就是指CPU花多少時間來進行程式的優先權設定。

  7. 平均負載(load average)。這個數值通常是指CPU花在處理程式的時間,包括有多少process在排隊等待CPU的執行,以及有多少個process是即將完成在等待結束的。當某個程式被CPU中斷,則load average則升高,反之當程式可以立刻被處理掉,則load average則降低。

說完CPU的效能要點,接下來要談談另一個重點- 記憶體。記憶體是CPU儲存資料的地方,所以這裡也是衡量效能的關鍵點。明天我們就來談談記憶體這個環節。


下一篇
Linux系統效能分析與探討 - [2] 記憶體的效能關鍵字
系列文
Linux系統效能調教31

尚未有邦友留言

立即登入留言