1. 程式人生 > >[Linux]系統管理: 進程管理(ps/top/pstree/kill/pkill), 工作管理, 系統資源查看, 系統定時任務

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

.com 結束進程 重啟 命令格式 命令 str 需要 選項 .cn

進程管理:查看與終止

  • 進程查看

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

  2. 進程管理的作用:

  判斷服務器健康狀態,

  查看系統中所有進程

  殺死進程

  3. 查看系統中所有進程

  ps aux # 查看系統中所有進程,使用BSD操作系統格式

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

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

  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 ,把任務放入後臺暫停運行。

  • 查看後臺的工作

  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

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