Linux系統(tǒng)管理

一、進(jìn)程管理

1.進(jìn)程管理簡介

①定義:進(jìn)程是一個有自己地址空間并占用一定的系統(tǒng)資源的實(shí)體,是正在執(zhí)行的一個程序或者命令。

②進(jìn)程管理的作用:

判斷服務(wù)器健康狀態(tài);查看系統(tǒng)中的所有進(jìn)程;殺死進(jìn)程。

2.進(jìn)程查看-ps命令 和pstree命令

①ps aux ?//查看系統(tǒng)中的所有進(jìn)程,使用BSD操作系統(tǒng)格式

②ps -le ?//查看系統(tǒng)中的所有進(jìn)程,使用linux標(biāo)準(zhǔn)命令格式

選項:-a:顯示一個終端的所有進(jìn)程,除了會話引線

-u:顯示進(jìn)程的歸屬用戶及內(nèi)存的使用情況

-x:顯示沒有控制終端的進(jìn)程

-l:長格式顯示。顯示更加詳細(xì)的信息

-e:顯示所有進(jìn)程,和A作用一致。

③ps命令的輸出

ps命令的輸出

④關(guān)于進(jìn)程


進(jìn)程

⑤查看進(jìn)程樹命令

pstree [選項]

選項:

-p:顯示進(jìn)程的PID

-u:顯示進(jìn)程的所屬用戶

3.進(jìn)程的查看-top命令

①查看系統(tǒng)健康狀態(tài)

top命令

服務(wù)器維護(hù):如果是高負(fù)載高壓力服務(wù)器(如游戲),建議一周重啟一次;低壓力(網(wǎng)站)至少一個月重啟一次。

②Top查看的信息解釋

圖示
圖示
圖示
圖示
圖示

4.殺死進(jìn)程

①Kill命令,殺死單一進(jìn)程

#kill -l ?//查看信號

圖示

②Killall命令

#killall [選項][信號] 進(jìn)程名

按照進(jìn)程名殺死進(jìn)程;

選項:-i:交互式,詢問是否要?dú)⑺滥硞€進(jìn)程

-I:忽略進(jìn)程名的大小寫

圖示

③pkill命令

#pkill [選項] [信號] 進(jìn)程名

按照進(jìn)程名終止進(jìn)程

選項:-t 終端號:按照終端號踢出用戶

#w ?//命令,查看當(dāng)前登錄的用戶? ? ?

圖示

只有超級用戶可以踢出用戶,如果兩個超級用戶,可以互相踢出。

5.修改進(jìn)程優(yōu)先級

①進(jìn)程優(yōu)先級簡介:linux操作系統(tǒng)是一個多用戶、多任務(wù)的操作系統(tǒng),linux系統(tǒng)中通知運(yùn)行著非常多的進(jìn)程,但是cpu在同一個時鐘周期內(nèi)只能運(yùn)算一個指令。進(jìn)程優(yōu)先級決定了每個進(jìn)程處理的先后順序。

圖示

②修改NI值得注意事項

a. NI值得范圍是 -20到19

b.普通用戶調(diào)整NI值得范圍是0到19,只能調(diào)整自己的進(jìn)程

c. 普通用戶只能調(diào)高NI值,不能降低,如原本為0,只能調(diào)整為大于0

d.root用戶才能設(shè)定進(jìn)程N(yùn)I值為負(fù)值,可以調(diào)整任意用戶的進(jìn)程

e. PRI(最終值)=PRI(原始值)+NI

f.用戶只能修改NI的值,不能直接修改PRI

③Nice命令

#nice [選項] 命令

Nice命令可以給新執(zhí)行的命令直接賦予NI值,但是不能修改已經(jīng)存在的NI的值選項:-n NI值 //給命令賦予NI值

例如:

圖示

④Renice [優(yōu)先級] PID

Renice命令是修改已經(jīng)存在進(jìn)程的NI值的命令

例如:renice -10 2125

二、工作管理

1.簡介

單個登錄終端中(即登錄的shell界面中)同時管理多個工作的行為。

注意事項:當(dāng)前的登錄終端,只能管理當(dāng)前終端的工作,而不能管理其他登錄終端的工作;放入后臺的命令必須可以持續(xù)運(yùn)行一段時間,這樣我們才能捕捉和操作這個工作;放入后臺執(zhí)行的命令不能和前臺用戶有交互或需要前臺輸入,否則放入后臺只能暫停,而不能執(zhí)行。

2.工作管理方法

1)把進(jìn)程放入后臺的兩種方法

方法1
方法2

2)查看后臺的工作:

#jobs [-l]

選項:-l:顯示工作的PID

注:“+”號代表最近一個放入后臺的工作,也是工作恢復(fù)時,默認(rèn)恢復(fù)的工作?!?”號代表倒數(shù)第二個放入后臺的工作。

將后臺暫停的工作恢復(fù)到前臺執(zhí)行

#fg %工作號

參數(shù)

-%工作號:%號可以省略,但是注意工作號和PID的區(qū)別。

#bg %工作號

注:后臺恢復(fù)執(zhí)行的命令,是不能和前臺有交互的,否則不能恢復(fù)到后臺執(zhí)行。

3)后臺命令脫離登錄終端執(zhí)行

簡介:把命令放入后臺,只能在當(dāng)前登錄終端執(zhí)行。一旦退出或關(guān)閉終端,后臺成粗就會停止。

第一種方法是把需要后臺執(zhí)行的命令加入/etc/rc.local文件;

第二種方法是使用系統(tǒng)定時任務(wù),讓系統(tǒng)在指定的時間執(zhí)行某個后臺命令;

第三種方法是使用nohup命令。

例子

三、系統(tǒng)資源查看

1)命令監(jiān)控系統(tǒng)資源

#vmstat [刷新延時 刷新次數(shù)]

#vmstat 1 3 ?//每隔一秒鐘刷新一次,總共刷新3次

2)信息字段

① procs:進(jìn)程信息字段:

-r:等待運(yùn)行的進(jìn)程數(shù),數(shù)量越大,系統(tǒng)越繁忙

-b:不可被喚醒的進(jìn)程數(shù)量,數(shù)量越大,進(jìn)程越繁忙

②memory:內(nèi)存信息字段:

-swpd:虛擬內(nèi)存的使用情況,單位kB

-free:空閑的內(nèi)存容量,單位KB

-buff:緩沖的內(nèi)存容量,單位KB

-cache:緩存的內(nèi)存容量,單位KB

3)緩存和緩沖的區(qū)別

緩存(cache)是用來加速數(shù)據(jù)從硬盤中“讀取”的,而緩沖(buffer)是用來加速數(shù)據(jù)“寫入”硬盤的。

Swap:交換分區(qū)的信息字段

-si:從磁盤中交換到內(nèi)存中數(shù)據(jù)的數(shù)量,單位KB

-so:從內(nèi)存中交換到磁盤中數(shù)據(jù)的數(shù)量,單位KB,此兩個數(shù)越大,證明數(shù)據(jù)需要經(jīng)常在磁盤和內(nèi)存之間交換,系統(tǒng)性能越差。

Io:磁盤讀寫信息字段

-bi:從塊設(shè)備讀入數(shù)據(jù)的總量,單位是塊

-bo:寫到塊設(shè)備的數(shù)據(jù)的總量,單位是塊。此兩個數(shù)越大,代表系統(tǒng)的I/O越繁忙。

System:系統(tǒng)信息字段

-in:每秒被中斷的進(jìn)程的次數(shù)

-cs:每秒鐘進(jìn)行的事件切換次數(shù)。此兩個數(shù)越大,代表系統(tǒng)與接口設(shè)備的通信非常繁忙。

CPU:cpu信息字段

-us:非內(nèi)核進(jìn)程消耗cpu運(yùn)算時間的百分比

-sy:內(nèi)核進(jìn)程消耗cpu運(yùn)算時間的百分比

-id:空閑cpu的百分比

-wa:等待I/O所消耗的cpu百分比

-st:被虛擬機(jī)所盜用的cpu占比

Dmsg:開機(jī)時內(nèi)核檢測信息

#Dmesg

用法:#dmesg |grep CPU //判斷當(dāng)前服務(wù)器的cpu狀態(tài)

Free:查看內(nèi)存使用狀態(tài)

Free[-b|-k|-m|-g]

選項:

-b:以字節(jié)為單位顯示

-k:以kb為單位顯示,默認(rèn)就是以kb為單位顯示

-m:以MB為單位顯示

-g:以GB為單位顯示

#cat /proc/cpuinfo //查看cpu的信息

Uptime命令

#uptime ?//顯示系統(tǒng)的啟動時間和平均負(fù)載,也就是top命令的第一行。W命令也可以看到這個數(shù)據(jù)

Uname:查看系統(tǒng)與內(nèi)核的相關(guān)信息

Uname[選項]

-a:查看系統(tǒng)所有相關(guān)信息

-r:查看內(nèi)核版本

-s:查看內(nèi)核名稱

File:判斷當(dāng)前系統(tǒng)的位數(shù)

#file /bin/ls

#lsb_release -a //查詢當(dāng)前l(fā)inux系統(tǒng)的發(fā)行版本

Lsof:列出進(jìn)程打開或使用的文件信息

Lsof[選項]

-c字符串:只列出以字符串開頭的進(jìn)程打開的文件

-u:用戶名:只列出某個用戶的進(jìn)程打開的文件

-p pid:列出某個PID進(jìn)程打開的文件

#lsof |more //查詢系統(tǒng)中所有進(jìn)程調(diào)用的文件

#lsof /sbin/init //查詢某個文件被哪個進(jìn)程調(diào)用

#lsof -c httpd //查看httpd進(jìn)程調(diào)用了哪些文件

#lsof -u root //按照用戶名,查詢某用戶的進(jìn)程調(diào)用的文件名

四、系統(tǒng)定時任務(wù)

1.at一次執(zhí)行

#chkconfig --list |grep atd //at服務(wù)是否安裝

#service atd restart //at服務(wù)的啟動

確定它是安裝和啟動的才可以使用


at的訪問控制


at命令

例子:

#at now + 2minutes //在兩分鐘之后執(zhí)行

此時出現(xiàn)at執(zhí)行命令符,輸入要執(zhí)行的內(nèi)容

at > ?/root/hello.sh >> /root/hello.log //在兩分鐘之后執(zhí)行hello.sh腳本

at管理命令


例子

2.crontab循環(huán)定時任務(wù)

①服務(wù)管理與訪問控制

#service crond restart

#chkconfig ?crond on

#chkconfig --list | grep cron //查詢cron服務(wù)是否開啟

#service crond statys ?//查詢目前此服務(wù)的運(yùn)行狀態(tài)

②訪問控制

訪問控制

③用戶的crontab設(shè)置

用戶的crontab設(shè)置
圖示
圖示
圖示
例子
例子

常用命令:

#crontab -l //查看root用戶的crontab任務(wù)

#crontab -r //刪除root用戶所有的定時任務(wù)

3.系統(tǒng)的crontab設(shè)置

含義:”crontab -e”,是每隔用戶執(zhí)行的命令,也就是說不同的用戶身份可以執(zhí)行自己的定時任務(wù)??墒怯行┒〞r任務(wù)需要系統(tǒng)執(zhí)行,這時候我們就需要編譯/etc/crontab這個配置文件了。

執(zhí)行定時任務(wù)

4.Anacron配置

作用:服務(wù)器應(yīng)該執(zhí)行定時任務(wù)時,服務(wù)器因?yàn)槭裁垂收蠈?dǎo)致定時任務(wù)沒有執(zhí)行的時候,當(dāng)服務(wù)器恢復(fù)正常時,anacron可以進(jìn)行判斷,從而將定時任務(wù)重新執(zhí)行

定義


檢測周期


區(qū)別


配置文件


執(zhí)行過程
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一節(jié) 進(jìn)程管理 1.進(jìn)程簡介 進(jìn)程是正在執(zhí)行的一個程序或命令,每一個進(jìn)程都是一個運(yùn)行的實(shí)體,都有自己的地址空間,...
    littlexjing閱讀 590評論 0 1
  • LINUX系統(tǒng)管理命令總結(jié)(精華篇) 一、常用系統(tǒng)工作命令 1.echo命令 echo命令用于在終端輸出字符串或變...
    haopython閱讀 1,557評論 0 4
  • 進(jìn)程管理 進(jìn)程查看 1、進(jìn)程簡介 進(jìn)程是正在執(zhí)行的一個程序或命令,每一個進(jìn)程都是一個運(yùn)行的實(shí)體,都有自己的地址空間...
    全村滴希望閱讀 330評論 0 0
  • Lunux系統(tǒng)管理 一. 進(jìn)程管理 進(jìn)程是正在執(zhí)行的一個程序或者命令, 每個進(jìn)程都是一個運(yùn)行的實(shí)體, 都有自己的地...
    其實(shí)我很dou閱讀 483評論 0 0
  • 有些人行走是為了健康; 有些人行走是為了思考; 有些人行走是為了修行; 也就是走著走著, 行走中你能收獲健康、思考...
    一個人的群聊閱讀 394評論 0 0

友情鏈接更多精彩內(nèi)容