溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux運(yùn)維基礎(chǔ)進(jìn)程管理實(shí)時(shí)監(jiān)控控制的示例分析

發(fā)布時(shí)間:2021-09-06 17:32:13 來源:億速云 閱讀:120 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要為大家展示了“Linux運(yùn)維基礎(chǔ)進(jìn)程管理實(shí)時(shí)監(jiān)控控制的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Linux運(yùn)維基礎(chǔ)進(jìn)程管理實(shí)時(shí)監(jiān)控控制的示例分析”這篇文章吧。

1.后臺(tái)運(yùn)行作業(yè)

1.sleep 999 & (運(yùn)行作業(yè))
[root@localhost ~]# sleep 999 &
[1] 3670
2.ps -ef|grep sleep(查看進(jìn)程)
[root@localhost ~]# ps -ef|grep sleep
root        3670    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3671    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3672    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3674    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3677    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3678    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3686     950  0 10:54 ?        00:00:00 sleep 60
3.fg(調(diào)最后一個(gè))
[root@localhost ~]# fg
sleep 999
4.jobs(查看任務(wù))
[root@localhost ~]# jobs
[1]                sleep 999 &
[3]                sleep 999 &
[4]                sleep 999 &
[6]-               sleep 999 &
[7]+               sleep 999 
ctr1+z(Done)完成
5.說明
fg %N (調(diào)指定的任務(wù))
stopped(停滯狀態(tài))
bg %3 (運(yùn)行狀態(tài))
+(默認(rèn)操作的)
-(第二個(gè)操作的)

2.使用信號(hào)控制進(jìn)程

基本進(jìn)程管理信號(hào)

信號(hào)編號(hào)ID短名稱定義名用途
1HUP掛起讓一個(gè)進(jìn)程不用重啟就可以重讀配置文件,并讓新的配置信息生效
2INT鍵盤中斷中斷一個(gè)前臺(tái)進(jìn)程。ctrl+c就是用的SIGINT信號(hào)
9KILL中斷,無法攔截導(dǎo)致立即終止程序。無法被攔截、忽略或處理
15默認(rèn)值TERM終止導(dǎo)致程序終止。和SIGKILL不同,可以被攔截、忽略或處理。要求程序終止的友好方式,允許自我清理

kill命令根據(jù)ID向進(jìn)程發(fā)送信號(hào)。雖其名稱為kill,但該命令可用于發(fā)送任何信號(hào),而不僅僅是終止程序的信號(hào)

1.查看進(jìn)程
[root@localhost ~]# ps -ef|grep sleep
root        3670    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3672    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3901     950  0 10:59 ?        00:00:00 sleep 60
root        3904    3642  0 10:59 pts/1    00:00:00 grep --color=auto sleep
2.刪除指定任務(wù)
[root@localhost ~]# kill %1
[root@localhost ~]# ps -ef|grep sleep
root        3672    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3901     950  0 10:59 ?        00:00:00 sleep 60
root        3906    3642  0 11:00 pts/1    00:00:00 grep --color=auto sleep
[1]               sleep 999
3.kill -l(列出所有可以支持的程序)
[root@localhost ~]# kill -l
 1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
 6) SIGABRT      7) SIGBUS       8) SIGFPE       9) SIGKILL     10) SIGUSR1
11) SIGSEGV     12) SIGUSR2     13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGSTKFLT   17) SIGCHLD     18) SIGCONT     19) SIGSTOP     20) SIGTSTP
21) SIGTTIN     22) SIGTTOU     23) SIGURG      24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGIO       30) SIGPWR
31) SIGSYS      34) SIGRTMIN    35) SIGRTMIN+1  36) SIGRTMIN+2  37) SIGRTMIN+3
38) SIGRTMIN+4  39) SIGRTMIN+5  40) SIGRTMIN+6  41) SIGRTMIN+7  42) SIGRTMIN+8
43) SIGRTMIN+9  44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9  56) SIGRTMAX-8  57) SIGRTMAX-7
58) SIGRTMAX-6  59) SIGRTMAX-5  60) SIGRTMAX-4  61) SIGRTMAX-3  62) SIGRTMAX-2
63) SIGRTMAX-1  64) SIGRTMAX
[root@localhost ~]#
4. kill 3672(刪除進(jìn)程)
查看進(jìn)程 
[root@localhost ~]# ps -ef|grep sleep
root        3672    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3925     950  0 11:00 ?        00:00:00 sleep 60
root        4039    3642  0 11:00 pts/1    00:00:00 grep --color=auto sleep
[root@localhost ~]# kill 3672
[root@localhost ~]# ps -ef|grep sleep
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3925     950  0 11:00 ?        00:00:00 sleep 60
root        4054    3642  0 11:01 pts/1    00:00:00 grep --color=auto sleep
[3]                sleep 99
5.killall sleep(刪除所有sleep)
查看進(jìn)程:[root@localhost ~]# ps -ef|grep sleep
root        3673    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3675    3642  0 10:54 pts/1    00:00:00 sleep 999
root        3676    3642  0 10:54 pts/1    00:00:00 sleep 999
root        4164     950  0 11:01 ?        00:00:00 sleep 60
root        4174    3642  0 11:01 pts/1    00:00:00 grep --color=auto sleep
成功刪除[root@localhost ~]# ps -ef|grep sleep
root        4185    3642  0 11:02 pts/1    00:00:00 grep --color=auto sleep

3.監(jiān)控進(jìn)程活動(dòng)

IO負(fù)載

負(fù)載數(shù)屬于全局計(jì)數(shù)器計(jì)算,是所有CPU的總和數(shù)。

由于從睡眠返回的任務(wù)可能會(huì)重新調(diào)度到不同的CPU,難以精確的每CPU計(jì)數(shù),但累計(jì)數(shù)的準(zhǔn)確度可以保障。

顯示的平均負(fù)載代表所有的CPU。
顯示負(fù)載值,實(shí)施監(jiān)控

[root@localhost ~]# top

1.查看負(fù)載
[root@localhost ~]# uptime
 11:12:36 up 45 min,  2 users,  load average: 0.06, 0.01, 0.20
 2.顯示負(fù)載值,實(shí)施監(jiān)控
[root@localhost ~]# top
top - 11:15:03 up 47 min,  2 users,  load average: 0.00, 0.00, 0.16
Tasks: 328 total,   1 running, 327 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.7 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.3 hi,  0.0 si,  0.0 st
MiB Mem :    804.8 total,     67.5 free,    474.7 used,    262.5 buff/cache
MiB Swap:   2048.0 total,   1427.5 free,    620.5 used.    196.8 avail Mem 
    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND  
   3884 root      20   0       0      0      0 I   0.3   0.0   0:00.57 kworker+ 
   4404 root      20   0   64856   4880   4008 R   0.3   0.6   0:00.17 top      
      1 root      20   0  245372   7252   4356 S   0.0   0.9   0:03.43 systemd  
      2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd 
      3 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_gp   
      4 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 rcu_par+ 
      6 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 kworker+ 
      8 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 mm_perc+ 
      9 root      20   0       0      0      0 S   0.0   0.0   0:00.24 ksoftir+ 
     10 root      20   0       0      0      0 I   0.0   0.0   0:00.35 rcu_sch+ 
     11 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 migrati+ 
     12 root      rt   0       0      0      0 S   0.0   0.0   0:00.00 watchdo+ 
     13 root      20   0       0      0      0 S   0.0   0.0   0:00.00 cpuhp/0  
     15 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kdevtmp+ 
     16 root       0 -20       0      0      0 I   0.0   0.0   0:00.00 netns    
     17 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kauditd  
     18 root      20   0       0      0      0 S   0.0   0.0   0:00.00 khungta+ 
     說明按m t l 
[root@localhost ~]# top
不顯示
按1
顯示cpu信息

4.實(shí)時(shí)進(jìn)程監(jiān)控

top用于實(shí)現(xiàn)全屏動(dòng)態(tài)顯示系統(tǒng)信息

//top命令交互式子命令:
    M   //根據(jù)駐留內(nèi)存大小進(jìn)行排序,默認(rèn)根據(jù)CPU百分比排序
    P   //根據(jù)CPU使用百分比進(jìn)行排序
    T   //根據(jù)累計(jì)時(shí)間(占據(jù)CPU時(shí)長)進(jìn)行排序
    l   //是否顯示平均負(fù)載和啟動(dòng)時(shí)間
    t   //是否顯示進(jìn)程和CPU狀態(tài)相關(guān)信息
    m   //是否顯示內(nèi)存相關(guān)信息
    c   //是否顯示完整的命令行信息
    q   //退出top命令
    k   //終止某個(gè)進(jìn)程
    1   //顯示所有CPU的信息
    s   //修改刷新時(shí)間間隔
    us  //表示用戶空間;
    sy  //表示內(nèi)核空間;
    ni  //表示調(diào)整nice值,CPU占用的比率;
    id  //表示空閑百分比;
    wa  //表示等待IO完成所占據(jù)的時(shí)間百分比;
    hi  //表示hard interrupt,硬件中斷占據(jù)的時(shí)間百分比;
    si  //表示軟中斷占據(jù)的時(shí)間百分比;
    st  //表示steal,被虛擬化技術(shù)偷走的時(shí)間(比如運(yùn)行虛擬機(jī))
PR      //優(yōu)先級(jí)
NI      //nice值
VIRT    //虛擬內(nèi)存集
RES     //常駐內(nèi)存集
SHR     //共享內(nèi)存大小
S       //進(jìn)程狀態(tài)

以上是“Linux運(yùn)維基礎(chǔ)進(jìn)程管理實(shí)時(shí)監(jiān)控控制的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI