Linux 系統管理總結

UKNOW發表於2019-09-05

1,什麼是程式?

程式是正在執行的一個程式或者命令,每一個程式都是一個執行實體,都有自己的地址空間,並佔用一定的系統資源。

2,程式管理作用?

判斷伺服器健康狀態

產看系統中所有的程式

殺死程式

==檢視程式命令==

ps

命令列 說明
ps -aux 檢視系統中所有程式,BSD作業系統格式
ps a 顯示現行終端機下的所有程式,包括其他使用者的程式
ps u 展示程式使用者資訊
ps x 顯示所有程式,不以終端機來區分
ps -le 檢視系統所有程式 linux標準命令格式
ps -A 顯示所有程式

命令列結果說明

名詞 說明
USER 該程式是由哪個使用者產生的
PID 程式ID號
%CPU 該程式佔用CPU百分比
%MEM 該程式佔用實體記憶體百分比
VSZ 該程式佔用虛擬記憶體大小 KB
RSS 該程式佔用實際實體記憶體大小 KB
TTY 該程式是在哪個終端執行的,其中tty1-tty7 代表本地終端,tty1-tty6 本地字元介面終端,tty7 圖形終端,pts/0-256 虛擬終端即最多支援256個遠端登入
STAT 當前程式狀態,S:睡眠中止 s:包含子程式 R:執行 T:停止 Z:僵死
TIME 程式執行起到現在總的CPU佔用時間
START 程式啟動時間
COMMAND 產生此程式的命令名

top

命令列 說明
top 【-d 秒數】 指定top命令每個幾秒更新一次,預設是3秒
P shift+P 按照CPU排序
:M shift+M 按照記憶體排序
:N shift+N 按照PID排序
q: 退出top
?或者h: 顯示幫助

top 命令結果

第一行資訊為任務資訊佇列

load avaerage:0.00 0.00 0.00 分別表示 系統在之前1分鐘,5分鐘,15分鐘的平均負載,如果是單核則 一般認為小於1時,負載較小,大於1時負載較大

第二行為 CPU 資訊

%Cpu(s):

0.1us:使用者模式佔用的CPU百分比

0.1sy:系統模式佔用的CPU百分比

0.1ni:改變過優先順序的使用者程式佔用的CPU百分比

1.1id:空閒CPU的CPU百分比

0.1wa:等待輸入/輸出的程式的佔用CPU百分比

0.1hi:硬中斷請求服務佔用的CPU百分比

0.1si:軟中斷請求服務佔用的CPU百分比

0.1st:虛擬時間百分比,即當有虛擬機器時候,虛擬CPU等待
實際CPU的時間百分比

第三行為 實體記憶體 資訊

第四行為 交換分割槽(swap)資訊

pstree

檢視程式樹,即用於檢視程式樹之間的關係,即哪個程式是父程式,哪個是子程式,可以清楚的看出來是誰建立了誰

命令列 說明
pstree -A 各程式之間的連線以ASCII 碼字元來連線
pstree -U 各程式之間的連線以utf8字元來連線
pstree -p 同時列出各個程式pid
pstree -u 同時列出每個程式所屬使用者

==終止程式==

kill

命令列 說明
kill pid 終止程式
kill -9 pid 強制終止
kill -l pid 重啟程式
killall 程式名 終止一類程式 後面跟程式名
pkill -t 終端號 剔除使用者
w 檢視終端使用者

==工作管理==

jobs -l

顯示後臺工作的ID

+號代表最近一個放入後臺的工作,也是工作恢復時候,預設恢復的工作

-號 代表倒數第二個放入後臺的工作

Ctr+Z 代表 將工作放入後臺 暫停狀態

& 代表 將工作放入後臺執行

命令列 說明
fg % 工作號 將後臺任務恢復到前臺
bg % 工作號 將前臺任務恢復到後臺

後臺恢復的執行命令,是不能和前臺有互動的,否則不能恢復到後臺執行


==系統資源檢視==

free檢視記憶體使用狀態

命令列 說明
free [-b/-k/-m/-g] 以位元組/KB/MB/GB為單位展示
cat /proc/cpuinfo 檢視CPU信
dmesg | grep cpu 檢視CPU信
uptime 顯示系統啟動時間和平均負載,也就是top命令第一行,w命令也可以看到
uname [-a|-r|-s] 檢視系統與核心資訊,-a檢視所有 -r 核心版本 -s 核心名稱
file /bin/ls 檢視系統的位數
lsb_release -a 檢視系統髮型版本
lsof [-c 字串|-u 使用者名稱|-p 程式ID] 列出程式開啟或者使用的檔案 -c :列出檔案開頭的程式檔案 -u:列出某個使用者程式檔案 -p:列出某個程式ID的檔案

快取和緩衝區別?

快取(cache)是用來加速資料從硬碟中讀取的,緩衝(buffer)是用來加速資料寫入硬碟的

==系統定時任務==

crond 服務管理與訪問控制

crond 一般是預設啟動的

service crond restart

chkconfig crond on

crontab 使用者的crontab設定

命令列 說明
crontab -e 編輯crontab定時任務
crontab -l 查詢contab定時任務
crontab -r 刪除當前使用者的所有的crontab任務
* * * * * php /mnt/d/CODE/MY/EighthWorld/artisan schedule:run >> /home/fantasy/error.log 2>&1

第一個*:一個小時的第幾分鐘 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分鐘執行一次
本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章