明明白白你的Linux服務器——硬件篇

一、如何查看服務器的CPU

今天安裝了9Linux服務器,型號完全不一樣(有DELLHPIBM服務器),又懶得去對清單,如何在Linuxcpu的個數和核數呢?另 外,nginxcpu工作模式也需要確切的知道linux服務器到底有多少個邏輯cpu,不過現在服務器那是相當的彪悍,直接上 worker_processes 8吧。

判斷依據:

1.具有相同core idcpu是同一個core的超線程。(Physical id and core id are not necessarily consecutive but they are unique. Any cpu with the same core id are hyperthreads in the same core.

2.具有相同physical idcpu是同一顆cpu封裝的線程或者cores。(Any cpu with the same physical id are threads or cores in the same physical socket.

以自己的惠普DL380G6爲例說明:

物理cpu個數:
[root@localhost ~]# cat /proc/cpuinfo | grep \"physical id\" | sort | uniq | wc -l


每個物理cpucore的個數(即核數)
[root@localhost ~]# cat /proc/cpuinfo | grep \"cpu cores\" | uniq

cpu cores : 4這樣可以推算出自己服務器的邏輯CPU爲物理個數*核數,如果你的服務器是server2003,你可以在你的資源管理器裏以圖形化方式看到你的邏輯CPU個數。

二、查看服務器的內存情況

有時候,你運行了許多大的進程,比如你開啓了300fast-cgi。這時候你感覺系統很慢,便需要查看服務器的內存情況:

[root@server ~]# free -m
total used free shared buffers cached
Mem: 249 163 86 0 10 94
-/+ buffers/cache: 58 191
Swap: 511 0 511


參數解釋:

total 內存總數
used
已經使用的內存數
free
空閒的內存數
shared
多個進程共享的內存總額
buffers Buffer Cache
cached Page Cache 磁盤緩存的大小
-buffers/cache (
已用)的內存數:used - buffers - cached
+buffers/cache(
可用)的內存數:free + buffers + cached

可用的memory=free memory+buffers+cached上面的數值是一臺我公司內網供PHP開發人員使用的DELL PE2850,內存爲2G的服務器,其可使用內存爲=217+515+826。記住,Linux的內存使用管理機制是有多少就用多少(特別是在頻繁存取文 件後),即Linux內存不是拿來看的,是拿來用的。

三、服務器磁盤使用情況

有時感覺硬盤反映很慢,或需要查看日誌所在分區時,下列命令可以查看磁盤的使用情況,很有用:

查看硬盤分區情況
fdisk –l

查看當前硬盤使用情況
df –h

查看硬盤性能
# iostat -x 1 10
Linux 2.6.18-92.el5xen 03/01/2010
avg-cpu: %user %nice %system %iowait %steal %idle
1.10 0.00 4.82 39.54 0.07 54.46
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 3.50 0.40 2.50 5.60 48.00 18.48 0.00 0.97 0.97 0.28
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sde 0.00 0.10 0.30 0.20 2.40 2.40 9.60 0.00 1.60 1.60 0.08
sdf 17.40 0.50 102.00 0.20 12095.20 5.60 118.40 0.70 6.81 2.09 21.36
sdg 232.40 1.90 379.70 0.50 76451.20 19.20 201.13 4.94 13.78 2.45 93.16


像我們公司,開發人員佔多數。有時爲了節約成本,會同時採購一些性價比比較高的二手服務器;這時一般將服務器的硬件的工作模式設置爲RAID1,同時對幾 種型號的服務器作相同文件的寫操作,然後各自執行iostat –d,作對比性測試。這樣服務器的硬盤性能孰優孰劣,一下子就能對比出來。

四、查看系統內核

查看系統內核主要爲了掌握其版本號,爲安裝LVS等軟件做準備。
uname –a

五、查看服務器使用的Linux發行版的名稱、版本號及描述信息等

lsb_release -a

六、查看服務器的平均負載

感覺到系統壓力較大時用可topuptime查看下服務器的平均負載。uptime的另一個用法是查看你的Linux服務器已經穩定運行多少天沒有重啓了,我這邊的機器最高記錄是360多天。

七、查看系統整體性能情況

如果感覺系統比較繁忙,可以用vmstat查看系統整體性能情況。vmstat不僅僅適應於linux系統,它一樣適用於FreeBSDunix系統。
vmstat 1 2

如果 r經常大於 4 ,且id經常少於40,表示cpu的負荷很重。
如果pipo 長期不等於0,表示內存不足。
如果disk 經常不等於0 且在 b中的隊列 大於3 表示 io性能不好。

八、查看系統已載入的相關模塊

Linux操作系統的核心具有模塊化的特性,應此在編譯核心時,務須把全部的功能都放入核心。你可以將這些功能編譯成一個個單獨的模塊,待需要時再分別載入。比如說在安裝LVS+Keepalived,下列用法被經常用到:
#檢查內核模塊,看一下ip_vs是否被加載
lsmod |grep ip_vs
ip_vs 77313 0

如果要查看當前系統的已加載模塊,直接lsmod

九、Linux下查找PCI設置

有時需要在Linux下查找PCI設置,可用lspci命令,它可以列出機器中的PCI 設備,比如聲卡、顯卡、Modem、網卡等,主板集成設備也能列出來。lspci 讀取的是hwdata 數據庫。有的小夥可能和我一樣,最關心的還是網卡型號:
[root@mail ~]# lspci | grep Ethernet
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12)
07:00.0 Ethernet controller: Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet


掌握上面這九條,你對你的Linux服務器的硬件信息基本就可以隨時掌控了

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章