久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

Linux基礎(chǔ)教程之進(jìn)程查看和管理及作業(yè)控制

在Linux系統(tǒng)中,內(nèi)核的功用有:進(jìn)程管理、文件系統(tǒng)、網(wǎng)絡(luò)功能、內(nèi)存管理、驅(qū)動(dòng)程序、安全功能等,在這眾多的模塊中,進(jìn)程管理是相對(duì)重要的一環(huán),即使不像文件系統(tǒng)和網(wǎng)絡(luò)功能那么復(fù)雜。在進(jìn)程管理中,內(nèi)核對(duì)進(jìn)程的創(chuàng)建、切換、撤銷和調(diào)度都有很詳細(xì)的定義。

1、進(jìn)程類型

守護(hù)進(jìn)程在系統(tǒng)引導(dǎo)過(guò)程中啟動(dòng)的進(jìn)程,跟終端無(wú)關(guān)的進(jìn)程

前臺(tái)進(jìn)程跟終端相關(guān),通過(guò)終端啟動(dòng)的進(jìn)程

注意:也可把在前臺(tái)啟動(dòng)的進(jìn)程送往后臺(tái),以守護(hù)模式運(yùn)行

2、進(jìn)程狀態(tài)

? ?在內(nèi)存中運(yùn)行的進(jìn)程也有著各種各樣的狀態(tài)

運(yùn)行態(tài)R:running

就緒態(tài):ready

睡眠態(tài)

可中斷S:interruptable

不可中斷D:uninterruptable

停止態(tài)T:stopped,暫停于內(nèi)存中,但不會(huì)被調(diào)度,除非手動(dòng)啟動(dòng)

僵死態(tài)Z:zombie,結(jié)束進(jìn)程,父進(jìn)程結(jié)束前,子進(jìn)程不關(guān)閉

3、進(jìn)程調(diào)度

調(diào)度策略:調(diào)度策略就是這樣一組規(guī)則:決定什么時(shí)候以怎樣的方式選擇一個(gè)新進(jìn)程運(yùn)行。所以定義一個(gè)進(jìn)程的優(yōu)先級(jí)來(lái)滿足這樣一種策略。這個(gè)策略以0-139的優(yōu)先級(jí)來(lái)表示。

實(shí)時(shí)優(yōu)先級(jí):1-99

無(wú)需調(diào)整,數(shù)字越大,優(yōu)先級(jí)越高

靜態(tài)優(yōu)先級(jí):100-139

可調(diào)整,數(shù)字越小,優(yōu)先級(jí)越高?

優(yōu)先級(jí)以Nice值調(diào)整

Nice:-20—-19 ,存在于task_struct結(jié)構(gòu)體中

公式如下:

????pri(new)=nice+pri(old) ?

調(diào)度算法:早起的Linux中,調(diào)度算法是根據(jù)進(jìn)程的優(yōu)先級(jí)選擇“最佳”進(jìn)程來(lái)執(zhí)行,它的缺點(diǎn)是時(shí)間開(kāi)銷與“可運(yùn)行進(jìn)程數(shù)量”有關(guān)。某種調(diào)度算法一定滿足一種函數(shù)關(guān)系,業(yè)界稱為Big O

Big O:時(shí)間復(fù)雜度,用時(shí)和規(guī)模的關(guān)系。有:

O(1), O(logn), O(n)線性, O(n^2)拋物線, O(2^n)

4、進(jìn)程管理命令之pstree

pstree – display a tree of processes

顯示進(jìn)程數(shù)

5、進(jìn)程管理命令之ps

Linux系統(tǒng)各進(jìn)程的相關(guān)信息均保存在/proc/PID目錄下的各文件中;

ps [OPTION]…

選項(xiàng):支持兩種風(fēng)格

常用組合:aux

u: 以用戶為中心組織進(jìn)程狀態(tài)信息顯示

a: 與終端相關(guān)的進(jìn)程;

x: 與終端無(wú)關(guān)的進(jìn)程;

~]# ps aux

USER ? ? ? ?PID %CPU %MEM ? ?VSZ ? RSS TTY ? ? ?STAT TART ? TIME COMMAND

USER 運(yùn)行進(jìn)程的用戶
PID 進(jìn)程ID
%CPU 占用CPU
%MEM 占用內(nèi)存
VSZ 虛擬內(nèi)存集
RSS 實(shí)際內(nèi)存集
TTY 終端信息
STAT 進(jìn)程狀態(tài)
START 進(jìn)程狀態(tài)
TIME 運(yùn)行時(shí)間
COMMAND 進(jìn)程名稱

常用組合:-ef

–e: 顯示所有進(jìn)程

-f: 顯示完整格式程序信息

常用組合:-eFH

-F: 顯示完整格式的進(jìn)程信息

-H: 以進(jìn)程層級(jí)格式顯示進(jìn)程相關(guān)信息

 

6、進(jìn)程管理命令之pkill

pkill [options] pattern ? ?

-u uid: effective user

-U uid: real user

-t terminal: 與指定終端相關(guān)的進(jìn)程

-l: 顯示進(jìn)程名

-a: 顯示完整格式的進(jìn)程名

-P pid: 顯示其父進(jìn)程為此處指定的進(jìn)程的進(jìn)程列表

7、進(jìn)程管理命令之pidof

根據(jù)進(jìn)程名獲取其PID

8、進(jìn)程管理命令之top

Linux基礎(chǔ)教程之進(jìn)程查看和管理及作業(yè)控制

Tasks

total 進(jìn)程總數(shù)
running 運(yùn)行進(jìn)程數(shù)
sleeping 休眠態(tài)進(jìn)程數(shù)
stopped 停止態(tài)進(jìn)程數(shù)
zobie 僵死態(tài)進(jìn)程數(shù)

%Cpu(s)

us(user space) 用戶空間占用CPU百分比
sy(system) 內(nèi)核空間占用CPU百分比 ? 注:高負(fù)載時(shí):us:sy=7:3
ni(nice) 修改nice值占用的CPU百分比
id(idle) 空閑的CPU百分比
wa(wait) 等待IO完成占用的CPU百分比
hi(hardware interrupt) 硬中斷占用CPU百分比
si(software interrupt) 軟中斷占用CPU百分比
st(stole) 被偷走的CPU,比如VMware
buffer(緩沖) 元數(shù)據(jù)
cache(緩存) 數(shù)據(jù)
PID 進(jìn)程號(hào)
USER 進(jìn)程發(fā)起者
PR(priority) 優(yōu)先級(jí)
NI(Nice) nice值
VIRT 虛擬內(nèi)存集
RES 常駐內(nèi)存集
SHR 共享內(nèi)存集
S(status) 狀態(tài)
%CPU CPU占用比
%MEM 內(nèi)存占用比
TIME+ 運(yùn)行時(shí)長(zhǎng)
COMMAND 啟動(dòng)進(jìn)程

對(duì)顯示排序的方法:

P 占據(jù)的CPU百分比
M 占據(jù)內(nèi)存百分比
T 累積占據(jù)CPU時(shí)長(zhǎng)

首部信息顯示:

l uptime信息
t tasks及cpu信息
#數(shù)字 cpu分別顯示
m memory信息
s 修改刷新時(shí)間間隔
Esc 退出
k 終止指定進(jìn)程
W 保存文件
q 退出命令

9、進(jìn)程管理命令之htop

=

比top更加高級(jí)的進(jìn)程管理軟件

f1幫助

f2切換CPU、mem、swap顯示方式

f10退出

常用選項(xiàng):

-d #: 指定延遲時(shí)間;

-u UserName: 僅顯示指定用戶的進(jìn)程;

-s COLOMN: 以指定字段進(jìn)行排序;

命令:

s: 跟蹤選定進(jìn)程的系統(tǒng)調(diào)用;

l: 顯示選定進(jìn)程打開(kāi)的文件列表;

a:將選定的進(jìn)程綁定至某指定CPU核心;

t: 顯示進(jìn)程樹(shù)

注意:Fedora-EPEL源

10、進(jìn)程管理命令之vmstat

Linux基礎(chǔ)教程之進(jìn)程查看和管理及作業(yè)控制

vmstat -s: 內(nèi)存的匯總信息

procs 項(xiàng)目
r 等待運(yùn)行的進(jìn)程的個(gè)數(shù),和核心數(shù)有關(guān)
b 處于不可中斷睡眠態(tài)的進(jìn)程個(gè)數(shù)(被阻塞的隊(duì)列的長(zhǎng)度)
swap 項(xiàng)目
si 從磁盤(pán)交換進(jìn)內(nèi)存的數(shù)據(jù)速率(kb/s)
so 從內(nèi)存交換至磁盤(pán)的數(shù)據(jù)速率(kb/s)
io 項(xiàng)目
bi 從塊設(shè)備讀入數(shù)據(jù)到內(nèi)存的速率(kb/s) ? ?讀
bo 從內(nèi)存寫(xiě)入磁盤(pán)的速率(kb/s) ?? ? ? ? ? 寫(xiě)
memory 項(xiàng)目
swad 交換內(nèi)存的使用總量
free 空閑物理內(nèi)存總量
buffer 用于buffer的內(nèi)存總量
cache 用于cache的內(nèi)存總量
system 項(xiàng)目
in: interrupts 中斷速率
cs: context switch 進(jìn)程切換速率
cpu 項(xiàng)目
us 用戶空間占用的比例
sy 內(nèi)核空間占用的比例
id 空閑空間占用的比例
wa 等待IO完成所消耗的時(shí)間比例
st 被虛擬化技術(shù)偷走的時(shí)間比例

11、進(jìn)程管理命令之glances

glances [-bdehmnrsvyz1] [-B bind] [-c server] [-C conffile] [-p port] [-P password] [–password] [-t refresh] [-f file] [-o output]

內(nèi)建命令:

??a ?Sort processes automatically ? ? l ?Show/hide logs

??c ?Sort processes by CPU% ? ? ? ? ? b ?Bytes or bits for network I/O

??m ?Sort processes by MEM% ? ? ? ? ? w ?Delete warning logs

??p ?Sort processes by name ? ? ? ? ? x ?Delete warning and critical logs

??i ?Sort processes by I/O rate ? ? ? 1 ?Global CPU or per-CPU stats

??d ?Show/hide disk I/O stats ? ? ? ? h ?Show/hide this help screen

??f ?Show/hide file system stats ? ? ?t ?View network I/O as combination

??n ?Show/hide network stats ? ? ? ? ?u ?View cumulative network I/O

??s ?Show/hide sensors stats ? ? ? ? ?q ?Quit (Esc and Ctrl-C also work)

??y ?Show/hide hddtemp stats

常用選項(xiàng):

-b: 以Byte為單位顯示網(wǎng)卡數(shù)據(jù)速率;

-d: 關(guān)閉磁盤(pán)I/O模塊;

-f /path/to/somefile: 設(shè)定輸入文件位置;

-o {HTML|CSV}:輸出格式;

-m: 禁用mount模塊

-n: 禁用網(wǎng)絡(luò)模塊

-t #: 延遲時(shí)間間隔

-1:每個(gè)CPU的相關(guān)數(shù)據(jù)單獨(dú)顯示;

C/S模式下運(yùn)行g(shù)lances命令:

服務(wù)模式:

glances -s -B IPADDR

IPADDR: 指明監(jiān)聽(tīng)于本機(jī)哪個(gè)地址

客戶端模式:

glances -c IPADDR

IPADDR:要連入的服務(wù)器端地址

12、進(jìn)程管理命令之dstat

dstat [-afv] [options..] [delay [count]]

-c: 顯示cpu相關(guān)信息;

-C #,#,…,total

-d: 顯示disk相關(guān)信息;

-D total,sda,sdb,…

-g:顯示page相關(guān)統(tǒng)計(jì)數(shù)據(jù);

-m: 顯示memory相關(guān)統(tǒng)計(jì)數(shù)據(jù);

-n: 顯示network相關(guān)統(tǒng)計(jì)數(shù)據(jù);

-p: 顯示process相關(guān)統(tǒng)計(jì)數(shù)據(jù);

-r: 顯示io請(qǐng)求相關(guān)的統(tǒng)計(jì)數(shù)據(jù);

-s: 顯示swapped相關(guān)的統(tǒng)計(jì)數(shù)據(jù);

–top-cpu:顯示最占用CPU的進(jìn)程;

–top-io: 顯示最占用io的進(jìn)程;

–top-mem: 顯示最占用內(nèi)存的進(jìn)程;

–top-lantency: 顯示延遲最大的進(jìn)程;

13、進(jìn)程管理命令之kill

kill命令:

向進(jìn)程發(fā)送控制信號(hào),以實(shí)現(xiàn)對(duì)進(jìn)程管理

顯示當(dāng)前系統(tǒng)可用信號(hào):

# kill -l

# man 7 signal

常用信號(hào):

1) SIGHUP: 無(wú)須關(guān)閉進(jìn)程而讓其重讀配置文件;

2) SIGINT: 中止正在運(yùn)行的進(jìn)程;相當(dāng)于Ctrl+c;

9) SIGKILL: 殺死正在運(yùn)行的進(jìn)程;

15) SIGTERM:終止正在運(yùn)行的進(jìn)程;

18) SIGCONT:

19) SIGSTOP:

指定信號(hào)的方法:

(1) 信號(hào)的數(shù)字標(biāo)識(shí);1, 2, 9

(2) 信號(hào)完整名稱;SIGHUP

(3) 信號(hào)的簡(jiǎn)寫(xiě)名稱;HUP

向進(jìn)程發(fā)信號(hào):

kill [-SIGNAL] PID…

終止“名稱”之下的所有進(jìn)程:

killall [-SIGNAL] Program

14、Linux的作業(yè)控制

前臺(tái)作業(yè):通過(guò)終端啟動(dòng),且啟動(dòng)后一直占據(jù)終端;

后臺(tái)作業(yè):可以通過(guò)終端啟動(dòng),但啟動(dòng)后即轉(zhuǎn)入后臺(tái)運(yùn)行(釋放終端);

如何讓作業(yè)運(yùn)行于后臺(tái)?

(1) 運(yùn)行中的作業(yè)

Ctrl+z

(2) 尚未啟動(dòng)的作業(yè)

# COMMAND &

此類作業(yè)雖然被送往后臺(tái)運(yùn)行,但其依然與終端相關(guān);如果希望送往后臺(tái)后,剝離與終端的關(guān)系:

# nohup COMMAND &

查看所有作業(yè):

# jobs

作業(yè)控制:

# fg [[%]JOB_NUM]:把指定的后臺(tái)作業(yè)調(diào)回前臺(tái);

# bg [[%]JOB_NUM]:讓送往后臺(tái)的作業(yè)在后臺(tái)繼續(xù)運(yùn)行;

# kill [%JOB_NUM]:終止指定的作業(yè);

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!

    1. 主站蜘蛛池模板: 宜城市| 金华市| 大余县| 桦南县| 怀安县| 成都市| 马鞍山市| 高淳县| 炉霍县| 中西区| 云梦县| 遵义县| 和硕县| 多伦县| 明光市| 合川市| 当阳市| 商城县| 呼图壁县| 沈阳市| 巴塘县| 昔阳县| 昌吉市| 固始县| 安龙县| 高清| 永新县| 广昌县| 沙湾县| 广平县| 门头沟区| 阜南县| 平武县| 宁国市| 朔州市| 叶城县| 呼伦贝尔市| 浪卡子县| 海阳市| 安多县| 阜康市|