1. 程式人生 > >Linux筆記(十三) - 系統管理

Linux筆記(十三) - 系統管理

系統版本 服務管理 結束程序 名稱 kconfig 才會 設置 小寫 linu

(1)進程管理
1.判斷服務器健康狀態
2.查看進程
a.查看系統中所有進程:ps
例:ps aux(使用BSD操作系統命令格式)
a 顯示所有前臺進程
x 顯示所有後臺進程
u 顯示哪個用戶產生
ps -le(使用linux標準命令格式)
-l 顯示更加詳細的信息
-e 顯示所有進程
結果說明
VSZ :占用虛擬內存大小KB
RSS :占用實際物理內存大小KB
TTY :進程登錄終端(?表示內核直接產生,1-7代表本地控制臺終端,pts/0-255虛擬終端)
STAT :狀態。R運行,S睡眠,T停止,s包含子進程,+位於後臺

START:啟動時間
TIME :占用cpu時間
COMMAND:產生此進程的命令
b.查看系統健康狀態:top
-d 每隔幾秒更新,默認3秒
交互過程中使用:
?/h :顯示交互模式的幫助
P :以cpu使用率排序
M :以內存使用率排序
N :以pid排序
q :退出top
結果說明
top -
18:31:55 系統當前時間
up 1 day,18:28, 系統的總運行時間
1 user, 當前登錄了1個用戶
load average: 0.00, 0.00, 0.00 系統在前5,10,15分鐘的平均負載,大於1則超載

Tasks: 進程數
83 total, 總
1 running, 正在運行
82 sleeping, 睡眠
0 stopped, 正在停止
0 zombie 僵屍

Cpu(s): 占用的cup百分比
0.0%us, 用戶模式
0.3%sy, 系統模式
0.0%ni, 改變過優先級的用戶進程
99.3%id, 空閑(小於20%則需硬件升級)
0.0%wa, 等待輸入輸出
0.0%hi, 硬中斷請求服務
0.3%si, 軟中斷請求服務
0.0%st 虛擬時間,當有虛擬機時,虛擬cpu等待實際cpu的時間

Mem: 物理內存大小KB
1004760k total, 總量
867512k used, 已使用
137248k free, 空閑
62176k buffers 作為緩沖

Swap: 交換分區大小KB
2047996k total, 總量
5492k used, 已使用
2042504k free, 空閑
144888k cached 作為緩沖

c.查看所有進程:pstree
-p 查看詳情
-u 顯示進程用戶
3.殺死進程
a.查看可用的進程信號:kill -l
例:kill -1 22222 重啟 pid
kill -9 22222 強制終止
kill 22222 正常終止
信號代碼 信號名稱 說明
1 SIGHUP 該信號讓進程立即關閉,然後重新讀取配置文件之後重啟
2 SIGHUP 程序終止信號,用於終止前臺進程。相當於ctrl+c
8 SIGFPE 在發生致命的算術運算錯誤發出,不僅包括浮點運算錯誤,還包括溢出及除數為0等其它所有的算術錯誤
9 SIGKILL 用來立即結束程序的運行,本信號不能被阻塞、處理和忽略。一般強於終止進程
14 SIGALRM 時鐘定時信號,計算的是實際的時間或時鐘。alarm函數使用該信號
15 SIGTERM 正常結束進程的信號,kill命令的默認信號。有時如果進程已經發生問題,這個信號是無法正常終止進程的,我們才會嘗試SIGKILL信號,也就是是信號9
18 SIGCONT 讓暫停的進程恢復執行,本信號不能被阻斷
19 SIGSTOP 該信號可以暫停前臺進程,相當於ctrl+z。本信號不能被阻斷
b.殺死所有進程:killall [選項] [信號] 進程名
-i 交互式,詢問是否要殺死某個進程
-I 忽略進程名的大小寫
例:killall -9 mysqld
c.按照進程名終止進程:pkill [選項] [信號] 進程名
-t 終端號:按照終端號踢出用戶
例:
查看當前用戶:w
踢出用戶: pkill -9 -t tty1

(2)工作管理
1.把進程放入後臺
a.後臺運行 & :tar -zcf aa.tar.gz /aa &
b.後臺暫停 ctrl+z :top ,在top執行過程中按ctrl+z

2.查看工作:jobs -l
-l 顯示pid
註:+代表最近一個放入後臺,也是工作恢復時默認恢復的工作。-代表倒數第二個。[n]代表工作號

3.將後臺暫停的工作恢復到前臺:fg %工作號
註:%可以省略

4.將後臺暫停的工作恢復到後臺運行:bg %工作號

(3)系統資源查看
1.監控系統資源:vmstat [刷新延時 刷新次數]
例:vmstat 1 3

2.顯示開機時內核監測信息(查看硬件信息):dmesg
例:dmesg | grep CPU
3.查看內存使用狀態:free [-b|k|m|g]
-b 以字節為單位
-k 以kb為單位(默認)
-m 以mb為單位
-g 以gb為單位

4.查看CPU信息:cat /proc/cpuinfo

5.查看系統版本:cat /etc/redhat-release

6.顯示系統啟動時間和平均負載:uptime

7.查看系統與內核相關信息:uname [選項]
-a 查看系統所有相關信息
-r 查看內核版本
-s 查看內核名稱
8.判斷當前系統位數:file /bin/ls
9.判斷當前系統發行版本:lsb_release -a
10.列出進程打開或使用的文件信息:lsof [選項]
-c 字符串:只列出字符串開頭的
-u 用戶名:只列出指定用戶的
-p pid:只列出指定pid的
(4)系統定時任務
1.服務管理與訪問控制:crond
開啟:service crond start
自啟:chkconfig crond on
2.用戶的crontab設置:crontab [選項]
-e 編輯定時任務
-l 查詢定時任務
-r 刪除當前用戶所有定時任務
格式:
分 時 日 月 周 執行任務
例:*/10 0-23 1,15 * 1 date >> a.log : 每月1號和15號和每周一的0點到23點每隔10分鐘

Linux筆記(十三) - 系統管理