LINUX查看硬件配置命令


一、如何查看服務器的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服務器的硬件信息基本就可以隨時掌控了。

 

系統

# uname -a # 查看內核/操作系統/CPU信息
# head -n 1 /etc/issue # 查看操作系統版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看計算機名
# lspci -tv # 列出所有PCI設備
# lsusb -tv # 列出所有USB設備
# lsmod # 列出加載的內核模塊
# env # 查看環境變量
資源
# free -m # 查看內存使用量和交換區使用量
# df -h # 查看各分區使用情況
# du -sh <目錄名> # 查看指定目錄的大小
# grep MemTotal /proc/meminfo # 查看內存總量
# grep MemFree /proc/meminfo # 查看空閑內存量
# uptime # 查看系統運行時間、用戶數、負載
# cat /proc/loadavg # 查看系統負載
磁盤和分區
# mount | column -t # 查看掛接的分區狀態
# fdisk -l # 查看所有分區  www.2cto.com 
# swapon -s # 查看所有交換分區
# hdparm -i /dev/hda # 查看磁盤參數(僅適用於IDE設備)
# dmesg | grep IDE # 查看啟動時IDE設備檢測狀況
網絡
# ifconfig # 查看所有網絡接口的屬性
# iptables -L # 查看防火牆設置
# route -n # 查看路由表
# netstat -lntp # 查看所有監聽端口
# netstat -antp # 查看所有已經建立的連接
# netstat -s # 查看網絡統計信息
進程
# ps -ef # 查看所有進程
# top # 實時顯示進程狀態
用戶
# w # 查看活動用戶
# id <用戶名> # 查看指定用戶信息
# last # 查看用戶登錄日志
# cut -d: -f1 /etc/passwd # 查看系統所有用戶
# cut -d: -f1 /etc/group # 查看系統所有組
# crontab -l # 查看當前用戶的計划任務
服務
# chkconfig --list # 列出所有系統服務
# chkconfig --list | grep on # 列出所有啟動的系統服務
程序
# rpm -qa # 查看所有安裝的軟件包
常用命令整理如下:
查看主板的序列號: dmidecode | grep -i ’serial number’
用硬件檢測程序kuduz探測新硬件:service kudzu start ( or restart)
查看CPU信息:cat /proc/cpuinfo [dmesg | grep -i 'cpu'][dmidecode -t processor]
查看內存信息:cat /proc/meminfo [free -m][vmstat]
查看板卡信息:cat /proc/pci
查看顯卡/聲卡信息:lspci |grep -i ‘VGA’[dmesg | grep -i 'VGA']
查看網卡信息:dmesg | grep -i ‘eth’[cat /etc/sysconfig/hwconf | grep -i eth][lspci | grep -i 'eth']  www.2cto.com 
<!--more-->
查看PCI信息:lspci (相比cat /proc/pci更直觀)
查看USB設備:cat /proc/bus/usb/devices
查看鍵盤和鼠標:cat /proc/bus/input/devices
查看系統硬盤信息和使用情況:fdisk & disk – l & df
查看各設備的中斷請求(IRQ):cat /proc/interrupts
查看系統體系結構:uname -a
查看及啟動系統的32位或64位內核模式:isalist –v [isainfo –v][isainfo –b]
dmidecode查看硬件信息,包括bios、cpu、內存等信息
測定當前的顯示器刷新頻率:/usr/sbin/ffbconfig –rev \?
查看系統配置:/usr/platform/sun4u/sbin/prtdiag –v
查看當前系統中已經應用的補丁:showrev –p
顯示當前的運行級別:who –rH
查看當前的bind版本信息:nslookup –class=chaos –q=txt version.bind
dmesg | more 查看硬件信息
lspci 顯示外設信息, 如usb,網卡等信息
lsnod 查看已加載的驅動
lshw
psrinfo -v 查看當前處理器的類型和速度(主頻)
prtconf -v 打印當前的OBP版本號  www.2cto.com 
iostat –E 查看硬盤物理信息(vendor, RPM, Capacity)
prtvtoc /dev/rdsk/c0t0d0s 查看磁盤的幾何參數和分區信息
df –F ufs –o i 顯示已經使用和未使用的i-node數目
isalist –v
對於“/proc”中文件可使用文件查看命令瀏覽其內容,文件中包含系統特定信息:
Cpuinfo 主機CPU信息
Dma 主機DMA通道信息
Filesystems 文件系統信息
Interrupts 主機中斷信息
Ioprots 主機I/O端口號信息
Meninfo 主機內存信息
Version  Linux內存版本信息
備注: proc – process information pseudo-filesystem 進程信息偽裝文件系統


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM