1. 程式人生 > >Linux下檢視系統資訊方法總結

Linux下檢視系統資訊方法總結

Linux下如何檢視系統啟動時間和執行時間
1.檢視/proc/uptime檔案計算系統啟動時間:
cat /proc/uptime
輸出: 5113396.94 575949.85

第一數字即是系統已執行的時間5113396.94秒,運用系統工具date即可算出系統啟動時間

date -d "$(awk -F. '{print $1}' /proc/uptime) second ago" +"%Y-%m-%d %H:%M:%S"
輸出: 2018-01-02 06:50:52

2.檢視/proc/uptime檔案計算系統執行時間
cat /proc/uptime| awk -F. '{run_days=$1 / 86400;run_hour=($1 % 86400)/3600;run_minute=($1 % 3600)/60;run_second=$1 % 60;printf("系統已執行:%d天%d時%d分%d秒",run_days,run_hour,run_minute,run_second)}'
輸出:系統已執行:1天1時36分13秒

Linux檢視物理CPU個數、核數、邏輯CPU個數
# 總核數 = 物理CPU個數 X 每顆物理CPU的核數 
# 總邏輯CPU數 = 物理CPU個數 X 每顆物理CPU的核數 X 超執行緒數

# 檢視物理CPU個數
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
2

# 檢視每個物理CPU中core的個數(即核數)
cat /proc/cpuinfo| grep "cpu cores"| uniq
cpu cores       : 2

# 檢視邏輯CPU的個數
cat /proc/cpuinfo| grep "processor"| wc -l
4

# 檢視CPU資訊(型號)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
      4  Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz

輸入命令cat /proc/cpuinfo 檢視physical id有幾個就有幾個物理cpu;檢視processor有幾個就有幾個邏輯cpu。
(一)概念
① 物理CPU
實際Server中插槽上的CPU個數
物理cpu數量,可以數不重複的physical id有幾個
② 邏輯CPU 
/proc/cpuinfo用來儲存cpu硬體資訊的
資訊內容分別列出了processor 0 –processor n 的規格。這裡需要注意,n+1是邏輯cpu數
一般情況,我們認為一顆cpu可以有多核,加上intel的超執行緒技術(HT), 可以在邏輯上再分一倍數量的cpu core出來
邏輯CPU數量=物理cpu數量 x cpu cores 這個規格值 x 2(如果支援並開啟ht)    
備註一下:Linux下top檢視的CPU也是邏輯CPU個數
 ③ CPU核數
一塊CPU上面能處理資料的晶片組的數量、比如現在的i5 760,是雙核心四執行緒的CPU、而 i5 2250 是四核心四執行緒的CPU
一般來說,物理CPU個數×每顆核數就應該等於邏輯CPU的個數,如果不相等的話,則表示伺服器的CPU支援超執行緒技術

檢視系統資訊的實用命令
lscpu命令,檢視的是cpu的統計資訊

[email protected]:~$ lscpu
Architecture:          i686            #cpu架構
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian   #小端位元組序
CPU(s):                4               #總共有4核
On-line CPU(s) list:   0-3
Thread(s) per core:    1               #每個cpu核,只能支援一個執行緒,即不支援超執行緒
Core(s) per socket:    4               #每個cpu,有4個核
Socket(s):             1               #總共有1一個cpu
Vendor ID:             GenuineIntel    #cpu產商 intel
CPU family:            6
Model:                 42
Stepping:              7
CPU MHz:               1600.000
BogoMIPS:              5986.12
Virtualization:        VT-x            #支援cpu虛擬化技術
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              6144K
檢視/proc/cpuinfo,可以知道每個cpu資訊,如每個CPU的型號,主頻等。

記憶體
概要檢視記憶體情況

free -m
             total       used       free     shared    buffers     cached
Mem:          3926       3651        274          0         12        404
-/+ buffers/cache:       3235        691
Swap:         9536         31       9505
這裡的單位是MB,總共的記憶體是3926MB。
檢視記憶體詳細使用:cat /proc/meminfo

磁碟

檢視硬碟和分割槽分佈

# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda1   8:1    0     1G  0 part /boot
├─sda2   8:2    0   9.3G  0 part [SWAP]
├─sda3   8:3    0  74.5G  0 part /
├─sda4   8:4    0     1K  0 part 
├─sda5   8:5    0 111.8G  0 part /home
└─sda6   8:6    0 269.2G  0 part
如果要看硬碟和分割槽的詳細資訊
# fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00023728

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2148351     1073152   83  Linux
/dev/sda2         2148352    21680127     9765888   82  Linux swap / Solaris
/dev/sda3        21680128   177930239    78125056   83  Linux
/dev/sda4       177932286   976771071   399419393    5  Extended/dev/sda5       177932288   412305407   117186560   83  Linux
/dev/sda6       412307456   976771071   282231808   83  Linux
使用“df -k”命令,以KB為單位顯示磁碟使用量和佔用率,-m則是以M為單位顯示磁碟使用量和佔用率
[email protected]:~# df -k
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1        8518920 1484432   6578708  19% /
udev               10240       0     10240   0% /dev
tmpfs              98488   12908     85580  14% /run
tmpfs             246216       0    246216   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs             246216       0    246216   0% /sys/fs/cgroup
/dev/sda7         368615    2055    343008   1% /tmp
/dev/sda8       28202140 9678620  17067856  37% /home
/dev/sda5        2817056  803380   1850860  31% /var
使用“du -k /home”命令,列出home目錄下所有檔案或目錄佔用的大小,以KB作為計量單位。
以下命令可以檢視/home目錄的大小:
[email protected]:~# du -sh /home
9.2G    /home


網絡卡
檢視網絡卡硬體資訊
# lspci | grep -i 'eth'
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06)

檢視系統的所有網路介面

# ifconfig -a
eth0      Link encap:乙太網  硬體地址 b8:97:5a:17:b3:8f  
          .....

lo        Link encap:本地環回  
          .....
或者是
ip link show
1: lo: <LOOPBACK> mtu 16436 qdisc noqueue state DOWN 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether b8:97:5a:17:b3:8f brd ff:ff:ff:ff:ff:ff
如果要檢視某個網路介面的詳細資訊,例如eth0的詳細引數和指標
# ethtool eth0
Settings for eth0:
    Supported ports: [ TP MII ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full #支援千兆半雙工,全雙工模式
    Supported pause frame use: No 
    Supports auto-negotiation: Yes #支援自適應模式,一般都支援
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Half 1000baseT/Full
    Advertised pause frame use: Symmetric Receive-only
    Advertised auto-negotiation: Yes #預設使用自適應模式
    Link partner advertised link modes:  10baseT/Half 10baseT/Full 
                                         100baseT/Half 100baseT/Full 
    .....
    Speed: 100Mb/s #現在網絡卡的速度是100Mb,網絡卡使用自適應模式,所以推測路由是100Mb,導致網絡卡從支援千兆,變成要支援百兆
    Duplex: Full   #全雙工
    .....
    Link detected: yes    #表示有網線連線,和路由是通的
其他
檢視pci資訊,即主機板所有硬體槽資訊。
lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09) #主機板晶片
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) #顯示卡
00:14.0 USB controller: Intel Corporation Panther Point USB xHCI Host Controller (rev 04) #usb控制器
00:16.0 Communication controller: Intel Corporation Panther Point MEI Controller #1 (rev 04)
00:1a.0 USB controller: Intel Corporation Panther Point USB Enhanced Host Controller #2 (rev 04)
00:1b.0 Audio device: Intel Corporation Panther Point High Definition Audio Controller (rev 04) #音效卡
00:1c.0 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 1 (rev c4) #pci 插槽
00:1c.2 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 3 (rev c4)
00:1c.3 PCI bridge: Intel Corporation Panther Point PCI Express Root Port 4 (rev c4)
00:1d.0 USB controller: Intel Corporation Panther Point USB Enhanced Host Controller #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation Panther Point LPC Controller (rev 04)
00:1f.2 IDE interface: Intel Corporation Panther Point 4 port SATA Controller [IDE mode] (rev 04) #硬碟介面
00:1f.3 SMBus: Intel Corporation Panther Point SMBus Controller (rev 04)
00:1f.5 IDE interface: Intel Corporation Panther Point 2 port SATA Controller [IDE mode] (rev 04) #硬碟介面
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 06) #網絡卡
03:00.0 PCI bridge: Integrated Technology Express, Inc. Device 8893 (rev 41)
如果要更詳細的資訊:lspci -v 或者 lspci -vv
如果要看裝置樹:lspci -t

檢視bios資訊
# dmidecode -t bios
......
BIOS Information
    Vendor: American Megatrends Inc.
    Version: 4.6.5
    Release Date: 04/25/2012
    .......
    BIOS Revision: 4.6
......
dmidecode以一種可讀的方式dump出機器的DMI(Desktop Management Interface)資訊。這些資訊包括了硬體以及BIOS,既可以得到當前的配置,也可以得到系統支援的最大配置,比如說支援的最大記憶體數等。
如果要檢視所有有用資訊
dmidecode -q
裡面包含了很多硬體資訊。
注:以上的命令都是Ubuntu。Ubuntu支援的命令比較多,相對redhat會很齊全。畢竟redhat要求穩定,所以更新會很慢。(有的命令RedHat和Centos可能沒有,我測試Debian也是可以)

Linux /proc目錄詳解
1. /proc目錄
Linux 核心提供了一種通過 /proc 檔案系統,在執行時訪問核心內部資料結構、改變核心設定的機制。proc檔案系統是一個偽檔案系統,它只存在記憶體當中,而不佔用外存空間。它以檔案系統的方式為訪問系統核心資料的操作提供介面。
使用者和應用程式可以通過proc得到系統的資訊,並可以改變核心的某些引數。由於系統的資訊,如程序,是動態改變的,所以使用者或應用程式讀取proc檔案時,proc檔案系統是動態從系統核心讀出所需資訊並提交的。下面列出的這些檔案或子資料夾,並不是都是在你的系統中存在,這取決於你的核心配置和裝載的模組。另外,在/proc下還有三個很重要的目錄:net,scsi和sys。 Sys目錄是可寫的,可以通過它來訪問或修改核心的引數,而net和scsi則依賴於核心配置。例如,如果系統不支援scsi,則scsi 目錄不存在。
除了以上介紹的這些,還有的是一些以數字命名的目錄,它們是程序目錄。系統中當前執行的每一個程序都有對應的一個目錄在/proc下,以程序的 PID號為目錄名,它們是讀取程序資訊的介面。而self目錄則是讀取程序本身的資訊介面,是一個link。

2. 子檔案或子資料夾
/proc/buddyinfo 每個記憶體區中的每個order有多少塊可用,和記憶體碎片問題有關
/proc/cmdline 啟動時傳遞給kernel的引數資訊
/proc/cpuinfo cpu的資訊
/proc/crypto 核心使用的所有已安裝的加密密碼及細節
/proc/devices 已經載入的裝置並分類
/proc/dma 已註冊使用的ISA DMA頻道列表
/proc/execdomains Linux核心當前支援的execution domains
/proc/fb 幀緩衝裝置列表,包括數量和控制它的驅動
/proc/filesystems 核心當前支援的檔案系統型別
/proc/interrupts x86架構中的每個IRQ中斷數
/proc/iomem 每個物理裝置當前在系統記憶體中的對映
/proc/ioports 一個裝置的輸入輸出所使用的註冊埠範圍
/proc/kcore 代表系統的實體記憶體,儲存為核心檔案格式,裡邊顯示的是位元組數,等於RAM大小加上4kb
/proc/kmsg 記錄核心生成的資訊,可以通過/sbin/klogd或/bin/dmesg來處理
/proc/loadavg 根據過去一段時間內CPU和IO的狀態得出的負載狀態,與uptime命令有關
/proc/locks 核心鎖住的檔案列表
/proc/mdstat 多硬碟,RAID配置資訊(md=multiple disks)
/proc/meminfo RAM使用的相關資訊
/proc/misc 其他的主要裝置(裝置號為10)上註冊的驅動
/proc/modules 所有載入到核心的模組列表
/proc/mounts 系統中使用的所有掛載
/proc/mtrr 系統使用的Memory Type Range Registers (MTRRs)
/proc/partitions 分割槽中的塊分配資訊
/proc/pci 系統中的PCI裝置列表
/proc/slabinfo 系統中所有活動的 slab 快取資訊
/proc/stat 所有的CPU活動資訊
/proc/sysrq-trigger 使用echo命令來寫這個檔案的時候,遠端root使用者可以執行大多數的系統請求關鍵命令,就好像在本地終端執行一樣。要寫入這個檔案,需要把/proc/sys/kernel/sysrq不能設定為0。這個檔案對root也是不可讀的
/proc/uptime 系統已經運行了多久
/proc/swaps 交換空間的使用情況
/proc/version Linux核心版本和gcc版本
/proc/bus 系統匯流排(Bus)資訊,例如pci/usb等
/proc/driver 驅動資訊
/proc/fs 檔案系統資訊
/proc/ide ide裝置資訊
/proc/irq 中斷請求裝置資訊
/proc/net 網絡卡裝置資訊
/proc/scsi scsi裝置資訊
/proc/tty tty裝置資訊
/proc/net/dev 顯示網路介面卡及統計資訊
/proc/vmstat 虛擬記憶體統計資訊
/proc/vmcore 核心panic時的記憶體映像
/proc/diskstats 取得磁碟資訊
/proc/schedstat kernel排程器的統計資訊
/proc/zoneinfo 顯示記憶體空間的統計資訊,對分析虛擬記憶體行為很有用

以下是/proc目錄中程序N的資訊
/proc/N pid為N的程序資訊
/proc/N/cmdline 程序啟動命令
/proc/N/cwd 連結到程序當前工作目錄
/proc/N/environ 程序環境變數列表
/proc/N/exe 連結到程序的執行命令檔案
/proc/N/fd 包含程序相關的所有的檔案描述符
/proc/N/maps 與程序相關的記憶體對映資訊
/proc/N/mem 指代程序持有的記憶體,不可讀
/proc/N/root 連結到程序的根目錄
/proc/N/stat 程序的狀態
/proc/N/statm 程序使用的記憶體的狀態
/proc/N/status 程序狀態資訊,比stat/statm更具可讀性
/proc/self 連結到當前正在執行的程序

參考:
https://www.cnblogs.com/xd502djj/archive/2011/05/03/2035599.html
https://www.cnblogs.com/emanlee/p/3587571.html
http://blog.csdn.net/chw1989/article/details/9150767
https://www.cnblogs.com/ggjucheng/archive/2013/01/14/2859613.html
https://jingyan.baidu.com/article/e2284b2b5dd3ebe2e6118dc8.html
http://blog.csdn.net/zdwzzu2006/article/details/7747977

相關推薦

Linux檢視系統資訊方法總結

Linux下如何檢視系統啟動時間和執行時間1.檢視/proc/uptime檔案計算系統啟動時間: cat /proc/uptime 輸出: 5113396.94 575949.85第一數字即是系統已執行的時間5113396.94秒,運用系統工具date即可算出系統啟動時間

Linux檢視系統版本號和核心資訊方法

本文轉載,侵刪!感謝博主”huoyuanshen”(✈機票點我) 參考URL:http://www.ha97.com/2987.html 簡要:1,lsb_release -a 檢視linux系統版本         &n

Linux 檢視系統是32位 還是64 位的方法

1. 從系統檢視 1.1 uname -a 命令 [[email protected] ~]# uname -a Linux qs-dmm-rh2 2.6.18-194.el5 #1 S

linux檢視系統屬性 Linux檢視和新增環境變數

Linux下檢視和新增環境變數 #檢視tomcat安裝路徑 sudo find / -name *tomcat* $PATH:決定了shell將到哪些目錄中尋找命令或程式,PATH的值是一系列目錄,當您執行一個程式時,Linux在這些目錄下進行搜尋編譯連結。   編輯你的 PATH 宣告

Linux檢視版本資訊

檢視版本當前作業系統核心資訊 [root@node00 ~]# uname -a Linux node00 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86

linux檢視系統socket讀寫緩衝區

#include <stdio.h>  #include <stdlib.h>  #include <unistd.h>  #include <string.h>  #include <errno.h>  #include <sys/type

linux 檢視系統資源和負載,以及效能監控

 命令相關: 1,檢視磁碟 df -h 2,檢視記憶體大小 free free [-m|g]按MB,GB顯示記憶體 vmstat 3,檢視cpu cat /proc/cpuinfo 只看cpu數量    grep "model name" /pro

linux檢視硬碟資訊、硬碟分割槽、格式化、掛載、及swap分割槽

df 命令參看硬碟資訊 -T選項, 檢視檔案系統型別 centos6檔案系統是ext4,因為設計較早,對於現今動輒上T的海量資料處理,效能較低。centos7檔案系統是xfs,適用於海量資料。這兩種

Linux檢視CPU資訊[/proc/cpuinfo]

最近在研究linux系統負載的時候,接觸到一些關於CPU資訊檢視的知識,和大家分享一下。通過對/proc/cpuinfo檔案中的引數的分析,也學到了不少東西。 在linux作業系統中,CPU的資訊在啟動的過程中被裝載到虛擬目錄/proc下的cpuinfo檔案中,我們可以通過

Linux檢視系統配置

CPU 1. lscpu:顯示cpu架構資訊 [[email protected] ~]$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Or

linux 檢視系統資源和負載,以及效能監控

1,檢視磁碟  df -h  2,檢視記憶體大小  free  free [-m|g]按MB,GB顯示記憶體  vmstat 檢視虛擬記憶體 3,檢視cpu  cat /proc/cpuinfo  只看cpu數量grep "model name" /proc/cpuinfo

linux檢視系統io情況

方式一    vmstat 1    顯示格式如下   procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ r  b   swpd   free   buff 

linux檢視系統資源和負載,以及效能監控

1,檢視磁碟 df -h 2,檢視記憶體大小 free free [-m|g]按MB,GB顯示記憶體 vmstat 3,檢視cpu cat /proc/cpuinfo 只看cpu數量grep "model name" /proc/cpuinfo | wc

如何在linux檢視gpu資訊

~$ lspci | grep -i vga 01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 610] (rev a1) 如果你想看gpu的詳細資訊,使用~$ lspci -

Linux檢視系統配置常用命令

系統 >> uname -a 檢視核心/作業系統/CPU資訊 >> head -n 1 /etc/issue 檢視作業系統版本 >> cat /proc/cpuinfo 檢視CPU資訊 >> hostname 檢視計算機名 &g

Linux檢視CPU資訊並且計算機器的浮點運算能力

輸入 cat /proc/cpuinfo物理CPU個數: cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l 每個CPU物理核數: cat /proc/cpuinfo |grep "cpu core

linux檢視系統配置引數

檢視系統核心 uname -a 3.10.0-514.el7.x86_64 檢視作業系統版本號 dmidecode | grep “Product” 檢視系統記憶體 cat /proc/meminfo |more vm

linux檢視系統自身巨集定義

跨平臺程式,經常要用到區分系統的巨集定義,比如windows中的WIN32, WIN64, Linux中的 unix, linux等等系統自定義巨集 那麼在linux下面,怎麼檢視系統有哪些自定義巨集咧,用如下方法: $ touch dummy.hxx

linux 檢視硬體資訊(mac,IP地址,硬碟型號,序列號等)

本機為debian 8(jessie)方法同樣使用於其他linux 系統 檢視mac和IP地址 方法一 開啟terminal輸入命令: sudo ifconfig eth0 後的 HWaddr xx:xx:xx:xx:xx:xx 即為

linux檢視cpu,記憶體,硬碟等硬體資訊方法

說明:Linux下可以在/proc/cpuinfo中看到每個cpu的詳細資訊。但是對於雙核的cpu,在cpuinfo中會看到兩個cpu。常常會讓人誤以為是兩個單核的cpu。原文地址: http://www.hpboys.com/659.html一、linux CPU大小    [