1. 程式人生 > >Linux學習高階篇(五)

Linux學習高階篇(五)

一、系統管理

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:產生此程序的命令名
(3)檢視系統健康狀態 [[email protected] ~]# top [選項]
選項:
-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 資訊
內容 說明
Cpu(s): 0.1%us 使用者模式佔用的CPU百分比
0.1%sy 系統模式佔用的CPU百分比
0.0%ni 改變過優先順序的使用者程序佔用的CPU
分比
99.7%id 空閒CPUCPU百分比
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 )資訊
內容 說明
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(07都代表星期日)

特殊符號 含義
* 代表任何時間。比如第一個“*”就代表一小時中
每分鐘都執行一次的意思。
代表不連續的時間。比如“0 8,12,16 * * * 命令”
就代表在每天的
80分,120分,160分都執
行一次命令
- 代表連續的時間範圍。比如“0 5 * * 1-6命令”,
代表在週一到週六的凌晨
50分執行命令
*/n 代表每隔多久執行一次。比如“*/10 * * * *
令”,代表每隔
10分鐘就執行一遍命令
時間 含義
45 22 * * * 命令 2245分執行命令
0 17 * * 1 命令 每週1 170分執行命令
0 5 1,15 * * 命令 每月1號和15號的凌晨50分執行命
40 4 * * 1-5 命令 每週一到週五的凌晨440分執行命
*/10 4 * * * 命令 每天的凌晨4點,每隔10分鐘執行一
次命令
0 0 1,15 * 1 命令 每月1號和15號,每週100分都會
執行命令。注意:星期幾和幾號最好
不要同時出現,因為他們定義的都是
天。非常容易讓管理員混亂。