查看Linux系統常用信息的方法

簡介


在系統運維或調試時,經常需要查看系統信息,如發行版、內核版本、內存、磁盤容量等信息。

一般而言,所有的信息基本上都能夠通過系統目錄/proc獲得,同時也有對應的便於記憶的命令來查看,其實用的多了基本就記住了。

這些信息的獲取對調試程序有一定幫助,本文作一小結。

內核版本


查看Linux內核版本及架構,使用:

uname -a

如下:

% uname -a
Linux y-srv 4.4.0-121-generic #145-Ubuntu SMP Fri Apr 13 13:47:23 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

表示:內核版本 4.4.0-121-generic,發行版爲 Ubuntu,架構:x86_64。

cat /proc/version 可以得到類似的更詳細信息:

% cat /proc/version
Linux version 4.4.0-121-generic (buildd@lcy01-amd64-004) (gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9) ) #145-Ubuntu SMP Fri Apr 13 13:47:23 UTC 2018

Linux發行版


Linux系統是使用了Linux內核的所有系統的統稱,各個使用該內核的廠商又提供了不同的發行版,如RedHat、Debain等。

我使用的是Ubuntu,使用 lsb_release -a 查看發行信息:

 % lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.6 LTS
Release:	16.04
Codename:	xenial

可見,我使用的是 Ubuntu 16.04版本。lsb是一種標準,安裝後會顯示版本。

cat /etc/issue 可得到類似信息:

% cat /etc/issue
Ubuntu 16.04.6 LTS \n \l

cpu信息


需要知道cpu型號、幾核等信息,更有利於在併發編程中發揮最大效率。命令lscpu

 % lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    1
Core(s) per socket:    8
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 79
Model name:            Intel(R) Xeon(R) CPU E5-2667 v4 @ 3.20GHz
Stepping:              1
CPU MHz:               1200.000
CPU max MHz:           3600.0000
CPU min MHz:           1200.0000
BogoMIPS:              6399.66
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              25600K
NUMA node0 CPU(s):     0-7
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch epb invpcid_single intel_pt retpoline kaiser tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm cqm rdseed adx smap xsaveopt cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local dtherm ida arat pln pts

可以看出,型號、8核、64位、小端序等信息,更多詳細信息可以參考相關文章,以決定合適的線程數量。

通過 cat /proc/cpuinfo可得到每個核心的詳細信息。

磁盤空間


查看總體磁盤空間:df -h:

% df -h
Filesystem                       Size  Used Avail Use% Mounted on
udev                              32G     0   32G   0% /dev
tmpfs                            6.3G  666M  5.7G  11% /run
/dev/mapper/isrv 								 853G   37G  774G   5% /

1個T的空間足夠造了。

查看當前各目錄佔用的空間:du . -h:

% du . -h
2.7G	./testd1
2.6G	./testd2
668K	./log
5.2G	.

它有豐富的參數可以使用,可以指定目錄層級。

使用 fdisk -l可以查看磁盤分區等信息,需要root權限。

內存空間


使用free -h查看內存使用情況:

% free -h
              total        used        free      shared  buff/cache   available
Mem:            62G        816M         27G        665M         34G         60G
Swap:           63G        696K         63G

64G空間也夠用了。

cpu及內存使用率


查看所有進程使用cpu及內存情況:top

在這裏插入圖片描述

1可獲得各個cpu核的信息:

在這裏插入圖片描述

可以查看特定進程佔用cpu及內存情況ps aux | grep cat

網絡流量


查看設備網絡流量是定位問題的關鍵步驟,方法也比較多,如ifconfig, tcpdump等,也可以使用wireshark抓包。

還可以使用自帶界面的工具:iftop,安裝即可使用。

它能實時顯示網絡流量的方向及速率,並具有統計功能。

在顯示界面按h顯示幫助。

監聽的端口


netstat是網絡編程中必不可少的調試工具,能夠查看網絡連接的狀態。

由於我經常使用tcp,所以一般使用netstat -antp查看相關信息,包括端口、ip、連接狀態等。

可以根據需求使用相關參數netstat -h

小結


簡略地列出了查看Linux系統信息的一些方法,可能還有更簡單的方式,讀者朋友請不吝留言指出。

工程技術的東西,還是在應用中學習更容易、更深刻。

平時只需要看一下,知道有這麼個工具或方法就可以了,不需要死記硬背,用時能找到就行了。

發佈了128 篇原創文章 · 獲贊 178 · 訪問量 38萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章