Linux 查詢硬件命令

linux下查看硬件信息的指令,比如top,free等,還可以通過內核文件來看,比如/proc/cpuinfo,/proc/meminfo等:

佔用內存的測量
測量一個進程佔用了多少內存,linux爲我們提供了一個很方便的方法,/proc目錄爲我們提供了所有的信息,實際上top等工具也通過這裏來獲取相應的信息。
/proc/meminfo 機器的內存使用信息
/proc/pid/maps pid爲進程號,顯示當前進程所佔用的虛擬地址。
/proc/pid/statm 進程所佔用的內存


查看CPU信息(型號) 

# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 

       2  Intel(R) Core(TM)2 Duo CPU     T6500  @ 2.10GHz

查看物理CPU個數

# cat /proc/cpuinfo | grep physical | uniq -c 

      1 physical id: 0
      1 address sizes : 36 bits physical, 48 bits virtual
      1 physical id : 0
      1 address sizes : 36 bits physical, 48 bits virtual

 查看CPU運行模式:32位或者64位,如果是32位的話並不代表不能運行在64位下 

#getconf LONG_BIT 

      64

 查看是否CPU支持64位系統(如果值大於0,則支持64位運算,lm指long mod)

# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l 
   8 

 查看內存信息        

# cat /proc/meminf

MemTotal:        5046272 kB
MemFree:          163364 kB
Buffers:          865700 kB
Cached:          1698408 kB
SwapCached:          408 kB

......

查看當前系統內核信息       

# uname -a

Linux ubuntu 3.2.0-26-generic #41-Ubuntu SMP Thu Jun 14 17:49:24 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

 查看當前操作系統內核信息       

# cat /etc/issue

Ubuntu 12.04 LTS \n \l


查看機器型號 
# dmidecode | grep "Product Name"

     Product Name: IdeaPad Y450                    - 這是我的機器型號
     Product Name: KL1                                    - 這是我的主板型號

在系統維護的過程中,隨時可能有需要查看 CPU 使用率,並根據相應信息分析系統狀況的需要。在 CentOS 中,可以通過top 命令來查看 CPU 使用狀況。運行 top 命令後,CPU 使用狀態會以全屏的方式顯示,並且會處在對話的模式 -- 用基於 top 的命令,可以控制顯示方式等等。退出 top 的命令爲 q (在 top 運行中敲 q 鍵一次)。 

操作實例: 
    
在命令行中輸入 “top” ,啓動 top 

第一部分 -- 最上部的 系統信息欄 : 

top - 15:50:53 up  8:04,  4 users,  load average: 4.25, 3.09, 2.91
Tasks: 205 total,   3 running, 202 sleeping,   0 stopped,   0 zombie
Cpu(s): 72.7%us, 16.1%sy,  0.0%ni, 10.0%id,  0.7%wa,  0.0%hi,  0.5%si,  0.0%st
Mem:   5046272k total,  4815492k used,   230780k free,   847540k buffers
Swap:   262140k total,     5104k used,   257036k free,  1660864k cached

第一行(top): 
    “15:50:53”爲系統當前時刻;
    “8:04”爲系統啓動後到現在的運作時間;
    “4 users”爲當前登錄到系統的用戶,更確切的說是登錄到用戶的終端數 -- 同一個用戶同一時間對系統多個終端的連接將被視爲多個用戶連接到系統,這裏的用戶數也將表現爲終端的數目; 
    “load average”爲當前系統負載的平均值,後面的三個值分別爲1分鐘前、5分鐘前、15分鐘前進程的平均數,一般的可以認爲這個數值超過 CPU 數目時,CPU 將比較吃力的負載當前系統所包含的進程; 

第二行(Tasks): 
    “205 total”爲當前系統進程總數; 
    “ 3 running”爲當前運行中的進程數; 
    “202 sleeping”爲當前處於等待狀態中的進程數; 
    “0 stoped”爲被停止的系統進程數; 
    “0 zombie”爲被複原的進程數;


第三行(Cpus): 
    分別表示了 CPU 當前的使用率; 

第四行(Mem): 
    分別表示了內存總量、當前使用量、空閒內存量、以及緩衝使用中的內存量;

第五行(Swap): 
    表示類別同第四行(Mem),但此處反映着交換分區(Swap)的使用情況。通常,交換分區(Swap)被頻繁使用的情況,將被視作物理內存不足而造成的。 


第二部分 -- 中間部分的內部命令提示欄: 
top 運行中可以通過 top 的內部命令對進程的顯示方式進行控制。內部命令如下表: 
  s - 改變畫面更新頻率 
  l - 關閉或開啓第一部分第一行 top 信息的表示 
  t - 關閉或開啓第一部分第二行 Tasks 和第三行 Cpus 信息的表示 
  m - 關閉或開啓第一部分第四行 Mem 和 第五行 Swap 信息的表示 
  N - 以 PID 的大小的順序排列表示進程列表(第三部分後述) 
  P - 以 CPU 佔用率大小的順序排列進程列表 (第三部分後述) 
  M - 以內存佔用率大小的順序排列進程列表 (第三部分後述) 
  h - 顯示幫助 
  n - 設置在進程列表所顯示進程的數量 
  q - 退出 top 
  s - 改變畫面更新週期 


第三部分 -- 最下部分的進程列表欄: 

  以 PID 區分的進程列表將根據所設定的畫面更新時間定期的更新。通過 top 內部命令可以控制此處的顯示方式 



在Linux下查看內存我們一般用free命令:

zhouyl@ubuntu:~$ free
             total       used       free     shared    buffers     cached
Mem:       5046272    4877108     169164          0     851840    1664572
-/+ buffers/cache:    2360696    2685576
Swap:       262140       5104     257036

下面是對這些數值的解釋:
             total:總計物理內存的大小。
             used:已使用多大。
             free:可用有多少。
             Shared:多個進程共享的內存總額。
             Buffers/cached:磁盤緩存的大小。
第三行(-/+ buffers/cached):
             used:已使用多大。
             free:可用有多少。
第四行就不多解釋了。
區別:

第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區別。 這兩個的區別在於使用的角度來看,第一行是從OS的角度來看,因爲對於OS,buffers/cached 都是屬於被使用,所以他的可用內存是169164KB,已用內存是4877108KB,其中包括,內核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
第三行所指的是從應用程序角度來看,對於應用程序來說,buffers/cached 是等於可用的,因爲buffer/cached是爲了提高文件讀取的性能,當應用程序需在用到內存的時候,buffer/cached會很快地被回收。
所以從應用程序的角度來說,可用內存=系統free memory+buffers+cached。

如上例:
2685576=169164+851840+1664572




還有一個指令給大家介紹怎麼查看硬件信息

--dmidecode, 希望對大家有點用處,認爲我說的比較膚淺的,也不要拍磚,目的在於大家相互交流嘛。 dmidecode是讀取DMI的信息顯示給大家的。 

[root@mail proc]# dmidecode --help 

Usage: dmidecode [OPTIONS] 

Options are: 

-d, --dev-mem FILE     Read memory from device FILE (default: /dev/mem) 

-h, --help             Display this help text and exit 

-q, --quiet            Less verbose output 

-s, --string KEYWORD   Only display the value of the given DMI string 

-t, --type TYPE        Only display the entries of given type

 -u, --dump             Do not decode the entries

 -V, --version          Display the version and exit 

以上是它的幫助信息,最有用的當然是參數-t了,它後面可跟的參數有:

 0 BIOS 

1 System 

2 Base Board 

3 Chassis 

4 Processor

5 Memory Controller

6 Memory Module

7 Cache 

8 Port Connector 

9 System Slots 

10 On Board Devices

11 OEM Strings 

12 System Configuration Options 

13 BIOS Language 

14 Group Associations 

15 System Event Log

16 Physical Memory Array 

17 Memory Device 

18 32-bit Memory Error

19 Memory Array Mapped Address 

20 Memory Device Mapped Address 

21 Built-in Pointing Device 

22 Portable Battery 

23 System Reset 

24 Hardware Security 

25 System Power Controls 

26 Voltage Probe 

27 Cooling Device 

28 Temperature Probe 

29 Electrical Current Probe 

30 Out-of-band Remote Access 

31 Boot Integrity Services 

32 System Boot 

33 64-bit Memory Error 

34 Management Device 

35 Management Device Component 

36 Management Device Threshold Data 

37 Memory Channel 

38 IPMI Device 

39 Power Supply 

類型歸納一下如下:

 bios 0, 13 

system 1, 12, 15, 23, 32 

baseboard 2, 10 

chassis 3 

processor 4 

memory 5, 6, 16, 17 

cache 7 

connector 8 slot 9  

比如查看CPU信息:

         dmidecode -t 4     或者  dmidecode -t porcessor 

兩者的功能是一樣的,查看內存 dmidecode -t 5 或 dmidecode -t memory 

最常用的可能就是這兩個指令了,尤其是查看內存,dmidecode -t memory會顯示哪個插槽插了內存,容量多大的以及頻率等信息

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