對于 Linux 系統(tǒng)來說,當運行應用程序出現(xiàn)問題時,要從應用程序本身、操作系統(tǒng)、服務器硬件和網(wǎng)絡環(huán)境等方面綜合排查,深度剖析問題出現(xiàn)在哪個部分,才能有針對性地解決。
那么,影響 Linux 系統(tǒng)性能的因素主要有哪些呢?
CPU
CPU 是操作系統(tǒng)穩(wěn)定運行的根本,CPU 的速度與性能很大一部分決定了系統(tǒng)整體的性能,因此 CPU 數(shù)量越多、主頻越高,服務器性能也就相對越好。
但亊實也并非完全如此,目前大部分 CPU 在同一時間內(nèi)只能運行一個線程,超線程的處理器可以在同一時間運行多個線程,因而可以利用處理器的超線程特性提髙系統(tǒng)性能。
而在 Linux 系統(tǒng)下,只有運行 SMP 內(nèi)核才能支持超線程,但是安裝的 CPU 數(shù)量越多,從超線程獲得的性能上的提高就越少。另外,Linux 內(nèi)核會把多核的處理器當作多個單獨的 CPU 來識別,例如兩顆 4 核的 CPU 在 Linux 系統(tǒng)下會認為是 8 顆 CPU。
注意,從性能角度來講,兩顆 4 核的 CPU 和 8 顆單核的 CPU 并不完全等價,根據(jù)權威部門得出的測試結(jié)論,前者的整體性能要低于后者 25%?30%。
在 Linux 系統(tǒng)中,郵件服務器、動態(tài) Web 服務器等應用對 CPU 性能的要求相對較高,因此對于這類應用,要把 CPU 的配置和性能放在主要位置。
內(nèi)存
內(nèi)存的大小也是影響 Linux 性能的一個重要的因素。內(nèi)存太小,系統(tǒng)進程將被阻塞,應用也將變得緩慢,甚至失去響應;內(nèi)存太大,會導致資源浪費。
Linux 系統(tǒng)采用了物理內(nèi)存和虛擬內(nèi)存的概念,虛擬內(nèi)存雖然可以緩解物理內(nèi)存的不足,但是占用過多的虛擬內(nèi)存,應用程序的性能將明顯下降。要保證應用程序的高性能運行,物理內(nèi)存一定要足夠大,但不應過大,否則會造成內(nèi)存資源的浪費。
例如,在一個 32 位處理器的 Linux 操作系統(tǒng)上,超過 8GB 的物理內(nèi)存都將被浪費。因此,要使用更大的內(nèi)存,建議安裝 64 位的操作系統(tǒng),同時開啟 Linux 的大內(nèi)存內(nèi)核支持。