­

linux服務管理必知必會

  • 2019 年 10 月 3 日
  • 筆記

        在Windows中,系統進程,資源管理都是通過可視化操作實現的,如下為Windows經典的可視化系統資源管理,其中,作為開發人員或伺服器運維人員,

查看系統系統,系統進程,系統性能和系統伺服器是三個重要的參考因素。

         

 

      然而,在linux系統中,如何實現這些操作呢?本篇文章將從操作的角度,簡要分析liunx如何實現Linux系統的監管。

一  查看系統進程

在linux中,查看系統進程的命令為ps,常用格式為如下兩個:

(1)ps aux:unix格式查看系統進程

(2)ps -le:linux格式查看系統進程

一般地,ps aux更常用,下面主要講解ps aux命令

(一)查看系統所有進程

ps aux,使用BSD(UNIX)系統格式查看系統所有進程

(二)參數註解

USER –進程使用用戶

PID –進程ID

%CPU — 進程佔用的CPU

%MEM –進程佔用記憶體

VSZ –進程佔用虛擬記憶體,單位為KB

RSS –進程佔用物理記憶體,單位為KB

TTY –該進程所運行終端

  (1)tty1-tty7:本地控制台終端(tty1-tty6:本地字元介面終端;tty7:圖形終端)

  (2)pts/0-255:虛擬終端,即遠程終端

  (3)?:由linux內核直接調用,不由終端調用

STAT — 進程狀態

   (1)R–運行狀態

   (2)S–休眠

   (3)T–停止

   (4)s–包含子進程

   (5)+ –後台進程

START –進程啟動時間

TIME –佔用CPU運算時間

COMMAND — 產生進程的命令

二  查看系統運行狀態

在linux中,用top命令來查看系統運行性能及狀態。

參數解釋:

(一)第一行:top

該行表示系統性能相關

 需要注意的是,系統負載參數中,對於單核CPU,當負載>時,表示系統壓力比較大,如果是n核CPU,當負載>n時,表示

系統壓力比較大。

(二)第二行:Tasks

該行表示執行緒相關

參數解釋:

tatal:執行緒總數

running:正在運行的執行緒

sleeping:正在休眠進程

stopped:已經停止進程

zombie:僵死進程(正在終止,但未終止的進程

(三)第三行:%CPU

該行表示CPU相關

參數解釋:

us:用戶模式佔用cpu百分比

sy:系統模式佔用cpu百分比

ni:改變過優先順序的用戶進程佔用的cpu百分比

id:空閑cpu百分比

wa:等待輸入輸出進程佔用cpu百分比

hi:硬終端請求服務佔用cpu百分比

si:軟中斷請求服務佔用cpu百分比

st:虛擬時間百分比,即若存在虛擬機,虛擬cpu等待cpu響應時間百分比

(四)第四行:%KiB Mem

該行表示系統記憶體情況

參數解析:

total:當前系統總記憶體

free:空閑記憶體

used:已用記憶體

buff/cache:快取快取記憶體

需要注意的是,當記憶體不夠時,根據linux管理記憶體機制,會將buff/cache記憶體作為記憶體來使用。

(五)第五行:KiB Swap

該行表示系統交換分區

參數解析:

total:總分區大小

free:空閑分區大小

used:已使用分區大小

(六)第六行:系統進程狀態行

該行表示當前系統進程運行狀態,默認是按照cpu佔用比例從大到小排列的,常見快捷操作:

M- 記憶體排序

P-CPU排序

N-PID排序

參數解析:

PID:進程ID,在系統中,唯一標識進程

USER:進程所有者

PR:優先順序

NI:負值表示高優先順序,正值表示低優先順序

VIRT:進程使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES

RES:進程使用的、未被換出的物理記憶體大小,單位kb。RES=CODE+DATA

SHR:共享記憶體大小,單位kb

S:進程狀態(D=不可中斷的睡眠狀態,R=運行,S=睡眠,T=跟蹤/停止,Z=殭屍進程)

%CPU:進程佔用cpu百分比

%MEM:進程佔用記憶體百分比

TIME+:進程使用的CPU時間總計

COMMAND:進程命令

(七)top命令常用快捷鍵

1.ctr+z 停止

2.ctr+c 強制退出

3.q 退出

4.m 按記憶體排序查找

5.p 按PID排序

三  進程常用操作

(一)查看進程樹

 linux中查看進程樹命令是pstree,要使用它,首先在linux上安裝

  yum install psmisc -y

1.查看默認進程樹

pstree

2.帶有PID的進程樹

pstree -p

3.通過進程名查找

pstree -p | grep java

4.通過進程PID查找

pstree -ps 被查看進程PID

(二)終止進程

kill命令用來終止進程

1.查看進程訊號

kill -l

列舉幾個常用訊號:

2.強制殺死進程

kill -9 PID

(三)查看進程工作狀態

在Linux中,從交互角度,我們習慣將進程分為前台進程和後台進程,所謂前台進程,即與用戶交互的

進程,如top,vim命令,後台進程,即不需要與用戶交互的進程。

1.查看後台工作進程

linux中,jobs  -l 查看後台工作的進程

參數解釋:

第一列:數字表示該進程倒數第幾放入工作進程

第二列:只有倒數第一(+),倒數第二(-)放入的進程才有符號

第三列:進程PID

第四列:進程狀態

第五列:進程訊號標識

第六列:進程名

2.將後台進程恢復到前台

fg %工作號

需要注意的是,%可省略

3.將後台進程恢復後台

bg %工作號

需要注意的是,%可省略

四  系統資源查看

1.系統資源監控

vmstat [刷新延時(秒為單位) 刷新次數]

2.開機內核檢測

dmesg用來檢測開機時,linux內核情況,如檢測 dmesg |grep cpu

3.查看記憶體使用

free 用來查看記憶體使用

4.查看cpu資訊

cat /proc/cpuinfo

5.uptime查看系統啟動時間和平均負載

6.查看系統與內核資訊

uname 命令查看系統與內核資訊

參數解釋:

-a :查看系統相關資訊

-s:查看內核名稱

-r:查看內核版本

7.查看進程使用文件

lsof命令查看進程使用文件

參數:

-p :查看某個PID進程使用的文件

-u:查看某個用戶使用的文件

-c:列出以字元串開頭的進程打開的文件

版權區

  •  轉載部落格,必須註明部落格出處
  •  部落格園:http://www.cnblogs.com/wangjiming/ (側重.NET)
  •  CSDN:https://blog.csdn.net/u010228798  (側重JAVA)
  •  如您有新想法,歡迎提出,郵箱:2098469527@qq.com
  •  專業.NET之家技術QQ群:490539956
  • 專業化Java之家QQ群:924412846
  • 有問必答QQ群:2098469527
  •  一對一技術輔導QQ:2098469527