liunx下查看服務器硬件信息

有時需要查看服務器的硬件信息,例如cpu數量、內存大小、硬盤容量等等。

本文轉載自:os.51cto.com/art/201006/208330.htm

一、如何查看服務器的CPU

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

判斷依據:

1.具有相同core id的cpu是同一個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 id的cpu是同一顆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

②每個物理cpu中core的個數(即核數)

[root@localhost ~]# cat /proc/cpuinfo | grep "cpu cores" | uniq
cpu cores : 4

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

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

有時候,你運行了許多大的進程,比如你開啓了300個fast-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內存不是拿來看的,是拿來用的。

編輯推薦:Linux系統內存監控全面講解:free命令

三、服務器磁盤使用情況

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

①查看硬盤分區情況

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,作對比性測試。這樣服務器的硬盤性能孰優孰劣,一下子就能對比出來。

圖解:

Tps 該設備每秒I/O傳輸的次數(每秒的I/O請求)

Blk_read/s 表求從該設備每秒讀的數據塊數量

Blk_wrth/s 表示從該設備每秒寫的數據塊數量

編輯推薦:Linux系統監控之磁盤I/O篇

四、查看系統內核

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

uname –a

有關查看內核信息的更多指令,可參考Linux查看版本信息及CPU內核、型號等一文。有關Linux的內核優化,則可參考Linux 2.6.31內核優化指南一文。

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

lsb_release -a

這是我的某臺用於SVN實驗的vmware機器情況:

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

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

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

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

vmstat 1 2

如果 r經常大於 4 ,且id經常少於40,表示cpu的負荷很重。

如果pi,po 長期不等於0,表示內存不足。

如果disk 經常不等於0, 且在 b中的隊列 大於3, 表示 io性能不好。

編輯推薦:Linux系統監控工具之vmstat詳解

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

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 (rev 12)

推薦閱讀:七大實用命令行工具 玩轉Linux網絡配置。至於網絡流量的監控,建議用centos自帶的工具iptraf,其用法可參考這篇文章。

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

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