Linux學習高階篇(五)
阿新 • • 發佈:2019-01-13
一、系統管理
1.1程序管理
(1)程序簡介 程序是正在執行的一個程式或命令,每一個程序都是一個執行的實體,都有自己的地址空間,並佔用一定的系統資源。 (2)檢視程序 [[email protected] ~]# ps aux#檢視系統中所有程序,使用BSD作業系統格式
[[email protected] ~]# ps -le
#檢視系統中所有程序,使用Linux標準命令格式。
程序引數詳簡: USER:該程序是由哪個使用者產生的;
PID:程序的ID號;
%CPU:該程序佔用CPU資源的百分比,佔用越高,程序越耗費資源;
%MEM:該程序佔用實體記憶體的百分比,佔用越高,程序越耗費資源;
VSZ:該程序佔用虛擬記憶體的大小,單位KB;
RSS:該程序佔用實際實體記憶體的大小,單位KB;
TTY:該程序是在哪個終端中執行的。其中tty1-tty7代表本地控制檯終端,tty1-tty6是本地的字元介面終端,tty7是圖形終端。pts/0-255代表虛擬終端。
STAT:程序狀態。常見的狀態有:R:執行、S:睡眠、T:停止狀態、s:包含子程序、+:位於後臺
START:該程序的啟動時間
TIME:該程序佔用CPU的運算時間,注意不是系統時間
COMMAND:產生此程序的命令名
選項:
-d 秒數: 指定top命令每隔幾秒更新。預設是3秒
在top命令的互動模式當中可以執行的命令:
?或h: 顯示互動模式的幫助
P: 以CPU使用率排序,預設就是此項
M: 以記憶體的使用率排序
N: 以PID排序
q: 退出top
引數介紹: 第一行資訊為任務佇列資訊
內容 | 說明 |
07:28:04 | 系統當前時間 |
up 47 min | 系統的執行時間,本機已經執行47分鐘 |
2 users | 當前登入了兩個使用者 |
load average: 0.00, 0.00, 0.00 |
系統在之前1分鐘,5分鐘,15分鐘 的平均負載。一般認為小於1時,負 載較小。如果大於1,系統已經超出 負荷。 |
內容 | 說明 |
Tasks: 95 total | 系統中的程序總數 |
1 running |
正在執行的程序數 |
94 sleeping | 睡眠的程序 |
0 stopped | 正在停止的程序 |
0 zombie | 殭屍程序。如果不是0,需要手工檢 查殭屍程序 |
內容 | 說明 |
Cpu(s): 0.1%us | 使用者模式佔用的CPU百分比 |
0.1%sy | 系統模式佔用的CPU百分比 |
0.0%ni | 改變過優先順序的使用者程序佔用的CPU百 分比 |
99.7%id | 空閒CPU的CPU百分比 |
0.1%wa | 等待輸入/輸出的程序的佔用CPU百分 比 |
0.0%hi | 硬中斷請求服務佔用的CPU百分比 |
0.1%si | 軟中斷請求服務佔用的CPU百分比 |
0.0%st | st(Steal time)虛擬時間百分比。就 是當有虛擬機器時,虛擬CPU等待實際 CPU的時間百分比。 |
內容 | 說明 |
Mem: 625344k total | 實體記憶體的總量,單位KB |
571504k used | 已經使用的實體記憶體數量 |
53840k free | 空閒的實體記憶體數量,我們使用的是虛 擬機,總共只分配了628MB記憶體,所以 只有53MB的空閒記憶體了 |
65800k buffers | 作為緩衝的記憶體數量 |
內容 | 說明 |
Swap: 524280k total | 交換分割槽(虛擬記憶體)的總大小 |
0k used | 已經使用的互動分割槽的大小 |
524280k free | 空閒交換分割槽的大小 |
409280k cached | 作為快取的互動分割槽的大小 |
(4)檢視程序樹 [[email protected] ~]# pstree [選項]
選項:
-p: 顯示程序的PID
-u: 顯示程序的所屬使用者
(5)檢視程序號
引數說明:
訊號代號 | 訊號名稱 | 說明 |
1 | SIGHUP | 該訊號讓程序立即關閉,然後重新讀取配置檔案之後重啟。 |
2 | SIGINT | 程式終止訊號,用於終止前臺程序。相當於輸出ctrl+c快捷 鍵。 |
8 | SIGFPE | 在發生致命的算術運算錯誤時發出.不僅包括浮點運算錯誤, 還包括溢位及除數為0等其它所有的算術的錯誤。 |
9 | SIGKILL | 用來立即結束程式的執行.本訊號不能被阻塞、處理和忽略。 一般用於強制終止程序。 |
14 | SIGALRM | 時鐘定時訊號,計算的是實際的時間或時鐘時間. alarm函式 使用該訊號。 |
15 | SIGTERM | 正常結束程序的訊號,kill命令的預設訊號。有時如果程序已 經發生問題,這個訊號是無法正常終止程序的,我們才會嘗 試SIGKILL訊號,也就是訊號9。 |
18 | SIGCONT | 該訊號可以讓暫停的程序恢復執行,本訊號不能被阻斷。 |
19 | SIGSTOP | 該訊號可以暫停前臺程序,相當於輸入ctrl+z快捷鍵。本訊號 不能被阻斷。 |
(6)殺死程序 kill -9 程序號-----強制殺死該程序 kill -15 程序號-----正常結束該程序 killall 【選項 】 程序名 按照程序名殺死所有程序 選項:
-i: 互動式,詢問是否要殺死某個程序
-I: 忽略程序名的大小寫
1.2工作管理
(1)把程序放到後臺 例如:tar -zcf etc.tar.gz /etc & (2)檢視後臺的工作 [[email protected] ~]# jobs [-l]選項:
-l: 顯示工作的PID
注:“+”號代表最近一個放入後臺的工作,也是工作恢復時,預設恢復的工作。“-”號代表倒數第二個放入後臺的工作。
(3)將後臺的工作恢復到前臺執行 [[email protected] ~]# fg %工作號
引數:
%工作號: %號可以省略,但是注意工作號和PID的區別
(4)將前臺暫停的工作恢復到後臺執行 [[email protected] ~]# bg %工作號
1.3 資源檢視
(1)vmstat命令監控系統資源 [[email protected] ~]# vmstat [重新整理延時 重新整理次數](2)dmesg開機檢測核心資訊 [[email protected] ~]# dmesg
[[email protected] ~]# dmesg | grep CPU
(3)free 檢視記憶體使用狀態 [[email protected] ~]# free [-b|-k|-m|-g]
選項:
-b: 以位元組為單位顯示
-k: 以KB為單位顯示,預設就是以
KB為單位顯示
-m: 以MB為單位顯示
-g: 以GB為單位顯示
(4)檢視cpu資訊
(5)uptime命令 顯示系統的啟動時間和平均負載,也就是top命令的第一行。w命令也可以看到這個資料。
(6)檢視系統與核心的相關資訊 [[email protected] ~]# uname [選項]
選項:
-a: 檢視系統所有相關資訊;
-r: 檢視核心版本;
-s: 檢視核心名稱。 (7)列出程序開啟或使用的檔案資訊 [[email protected] ~]# lsof [選項]
#列出程序呼叫或開啟的檔案的資訊
選項:
-c 字串: 只列出以字串開頭的程序開啟
的檔案
-u 使用者名稱: 只列出某個使用者的程序開啟的文
件
-p pid: 列出某個PID程序開啟的檔案
1.4定時任務
(1)crond服務管理與訪問控制[[email protected] ~]# service crond restart
[[email protected] ~]# chkconfig crond on
(2)使用者的crontab設定
[[email protected] ~]# crontab [選項]
選項:
-e: 編輯crontab定時任務
-l: 查詢crontab任務
-r: 刪除當前使用者所有的crontab任務
專案 | 含義 | 範圍 |
一個“*” | 一小時當中的第幾 分鐘 |
0-59 |
二個“*” | 一天當中的第幾小 時 |
0-23 |
三個“*” | 一個月當中的第幾 天 |
1-31 |
四個“*” | 一年當中的第幾月 | 1-12 |
五個“*” | 一週當中的星期幾 | 0-7(0和7都代表星期日) |
特殊符號 | 含義 |
* | 代表任何時間。比如第一個“*”就代表一小時中 每分鐘都執行一次的意思。 |
, | 代表不連續的時間。比如“0 8,12,16 * * * 命令” 就代表在每天的8點0分,12點0分,16點0分都執 行一次命令 |
- | 代表連續的時間範圍。比如“0 5 * * 1-6命令”, 代表在週一到週六的凌晨5點0分執行命令 |
*/n | 代表每隔多久執行一次。比如“*/10 * * * * 命 令”,代表每隔10分鐘就執行一遍命令 |
時間 | 含義 |
45 22 * * * 命令 | 在22點45分執行命令 |
0 17 * * 1 命令 | 每週1 的17點0分執行命令 |
0 5 1,15 * * 命令 | 每月1號和15號的凌晨5點0分執行命 令 |
40 4 * * 1-5 命令 | 每週一到週五的凌晨4點40分執行命 令 |
*/10 4 * * * 命令 | 每天的凌晨4點,每隔10分鐘執行一 次命令 |
0 0 1,15 * 1 命令 | 每月1號和15號,每週1的0點0分都會 執行命令。注意:星期幾和幾號最好 不要同時出現,因為他們定義的都是 天。非常容易讓管理員混亂。 |