[Linux]系統管理: 進程管理(ps/top/pstree/kill/pkill), 工做管理, 系統資源查看, 系統定時任務

 

進程管理:查看與終止html

  • 進程查看

  1. 進程是正在執行的程序或命令。vim

 

  2. 進程管理的做用:緩存

  判斷服務器健康狀態,服務器

  查看系統中全部進程ui

  殺死進程spa

 

  3. 查看系統中全部進程操作系統

  ps aux    # 查看系統中全部進程,使用BSD操做系統格式rest

  ps le    # 查看系統中全部進程,使用Linux標準命令格式htm

 

  USER:該進程由哪一個用戶產生的;blog

  PID:進程的ID號;

  %CPU:該進程佔用CPU資源的百分比,佔用越高,進程越耗費資源;

  %MEM:該進程佔用物理內存的百分比,佔用越高,進程越耗費資源;

  VSZ:該進程佔用虛擬內存的大小,單位KB;

  RSS:該進程佔用實際物理內存的大小,單位KB;

  TTY:該進程是在哪一個終端中運行的。其中tty1-tty7表明本地控制檯終端,tty1-tty6是本地的字符界面終端,tty7是圖形終端。pts/0-256表明虛擬終端。?表明由內核產生;

  STAT:進程狀態。常見的狀態有(R:運行、S:睡眠、T:中止、s:包含子進程、+:位於後臺);

  START:該進程的啓動時間;

  TIME:該進程佔用CPU的運算時間,注意不是系統時間;

  COMMAND:產生此進程的命令名;

 

  4. 查看系統健康狀態

  top [選項]

    -d 秒數    :    指定top命令每隔幾秒更新,默認是3秒;

 

  在top命令的交互模式當中能夠執行的命令:

    ? 或 h    :    顯示交互模式的幫助;

    P    :    以CPU使用率排序,默認;

    M    :    之內存的使用率排序;

    N    :    以PID排序;

    q    :    退出top;

 

  第一行是任務隊列信息

    12:26:46    # 系統當前時間(不必定準確)

    up 1 day, 13:32    #系統的運行時間,本機已運行1天 13小時32分鐘

    2 users    # 當前登陸了兩個用戶

    load average:0.06, 0.11, 0.12    # 系統在以前1分鐘,5分鐘,15分鐘的平均負載。通常認爲小於1時(1核CPU),負載較小。若是大於1,系統已經超出負荷。

 

  第二行是進程信息

    Tasks:95 total    # 系統中的進程總數

    1 running    # 正在運行的進程數

    94 sleeping    # 睡眠的進程

    0 stopped    # 正在中止的進程

    0 zombie    # 殭屍進程。若是不是0,須要手工檢查殭屍進程

 

  第三行是CPU信息

    Cpu(s):0.1%us    # 用戶模式佔用的CPU百分比

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

    0.0%ni    # 改變過優先級的用戶進程佔用的CPU百分比

    99.7%id    # 空閒CPU的百分比

    0.1%wa    # 等待輸入/輸出的進程的佔用CPU百分比

    0.0%hi    # 硬中斷請求服務佔用的CPUb百分比

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

    0.0%st    # st(Steal time)虛擬時間百分比。就是當有虛擬機時,虛擬CPU等待實際CPU的時間百分比。

 

  第四行是物理內存信息

    Mem:1870784k total    # 物理內存的總量,單位KB

    1795092k used    # 已經使用的物理內存數量

    85028k free    # 空閒的物理內存數量,若是是虛擬機就是虛擬機中所剩可用內存,(85028/1024=83M)

    0 buffers    # 做爲緩衝的內存數量

 

  第五行是交換分區(swap)信息

    Swap:2097148 total    # 交換分區(虛擬內存)的總大小

    736812k used    # 已經使用的交換分區的大小

    1360336 free    # 空閒交換分區的大小

    300712 cached Mem   # ​做爲緩存的交換分區的大小

 

  ( 以上幾個重要指標是:平均負載CPU空閒率內存空閒大小

  ( top命名自己也是耗資源的,沒有必要一直開着,用完就退出 )

 

  5. 查看進程樹

  pstree [選項]

    -p    :    顯示進程的PID

    -u    :    顯示進程的所屬用戶

 

  • 終止進程

  kill -l    # 查看可用的進程信號。

  kill -1 進程ID    # 該信號讓進程當即關閉,而後從新讀取配置文件以後重啓。

  kill -9 進程ID    # 當即結束程序的運行,本信號不能被阻塞、處理和忽略。通常用於強制終止進程。

  kill -15 進程ID    # 正常結束進程的信號,kill的默認信號。

 

  killall [選項][信號] 進程名    # 按照進程名殺死進程

    選項

    -i    :    交互式,詢問是否要殺死某個進程

    -I    :    忽略進程名的大小寫

 

  pkill [選項][信號] 進程名    # 按照進程名終止進程(與killall徹底同樣,除了選項)

    選項

      -t 終端號    :    按照終端號提出用戶

   ( w    # 使用w命令查詢本機已經登陸的用戶 )

   ( pkill -t -9 pts/1    # 強制殺死從pts/1虛擬終端登陸的進程 )

 


 

工做管理

  • 把進程放入後臺

  1. 命令結尾加 & 符號,在後臺繼續執行;

  2. 命令執行過程當中按 ctrl+z ,把任務放入後臺暫停運行。

     一個典型場景是,vim 編輯某些文件時,使用 ctrl+z 能夠保留工做現場退回到終端,以後經過 fg 回到編輯界面。

 

  • 查看後臺的工做

  jobs [-l] 

    參數: -l     顯示工做的 pid

 

  「+」 表明最近一個放入後臺的工做,也是工做恢復時,默認恢復的工做。

  「 - 」 表明倒數第二個放入後臺的工做。

 

  • 將後臺暫停的工做恢復到前臺執行

  fg %工做號

    參數:%工做號  注意工做號是 jobs 列出的在行首的數字,不是PID

 

  • 把後臺暫停的工做恢復到後臺執行

  bg %工做號

    注:後臺恢復執行的命令,是不能和前臺有交互的,不然不能恢復到後臺執行,好比 top、vim.

 


 

系統資源查看

  • vmstat 命令監控系統資源使用狀況

    vmstat [刷新延時  刷新次數]

    vmstat  2  3     # 共輸出三次,每次間隔2秒,主要是看內存和CPU的使用,比 top 的輸出內容簡潔

 

  • dmesg 開機時內核檢測信息

    dmesg

    dmesg | grep CPU

 

  • cat /proc/cpuinfo 查看CPU信息

 

  • free 命令專門查看內存使用狀態

    free [-b|-k|-m|-g|-h]

    緩存(cache)和緩衝(buffer)的區別:

    緩存是用來加速數據從硬盤中「讀取」的,而緩衝是用來加速數據「寫入」硬盤的。

 

  • uptime 命令

    顯示系統的啓動時間和平均負載,也就是 top 命令的第一行,w 命令也能夠看到這個數據。

 

  • 查看系統與內核相關信息

    uname [選項]

      -a  查看系統全部相關信息

      -r  查看內核版本,主要用途

      -s  查看內核名稱

 

  • 判斷當前系統的位數

    file /bin/ls  # /bin/ls: ELF 64-bit ......

    

  • 查詢當前 Linux 系統的發行版本

    lsb_release -a

 

  • 列出進程打開或使用的文件信息

    lsof [選項]

      -c 字符串  只列出以字符串開頭的進程打開的文件

      -u 用戶名  只列出某個用戶的進程打開的文件

      -p pid    列出某個PID進程打開的文件

 


  

系統定時任務

  • cron 服務管理與訪問控制

    systemctl restart cron.service    # 重啓cron服務

    systemctl enable cron.service      # 設置開機自啓動

    systemctl list-unit-files          # 查看是否開機自啓動

    systemctl list-units --type=service  # 查看全部已啓動的服務

 

  • 用戶的 crontab 設置

    crontab [選項],格式:分-時-日-月-周 命令

      -e  編輯 crontab 定時任務

      -l   顯示用戶的 crontab 任務

      -r   刪除當前用戶全部的 crontab 任務

 

Link:http://www.cnblogs.com/farwish/p/4866659.html

相關文章
相關標籤/搜索