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大小 [