Linux進程查看與管理命令總結

Linux進程查看與管理命令總結

  • 內核的功能:

    • 進程管理

    • 文件系統

    • 網絡功能

    • 內存管理

    • 驅動程序

    • 安全功能

  • Process:運行中程序的一個副本。(存在生命周期)

  • Linux內核存儲進程信息的固定格式:task struct

    • 多個任務的task struct組件的鏈表:task list

  • 進程創建:

    • init

      • 父子關系

      • 進程:都有其父進程創建

        • fork(),clone()

    • 進程優先級:

      • 0-139:

        • 1-99:實時優先級:數字越大,優先級越高

        • 100-139:靜態優先級:數字越小,優先級越高

        • Nice值:-20,19

      • Big O標準

        • O(1),O(logn),O(n),0(n^2),O(2^n)

    • 進程內存

      • Page Frame:頁框,用存儲頁面數據

        • 存儲Page

        • MMU:Memory Management Unit

    • IPC:Inter Process Communicarion(進程通信機制)

      • 同一主機上:

        • signal

        • shm:shared memory

        • semerphor

      • 不同主機上:

        • rpc:remote procecure call(遠程過程調用)

        • socket:

  • Linux內核:搶占式多任務

    • 進程類型:

      • 守護進程:在系統引導過程中啟動的進程,與終端無關的進程。

      • 前臺進程:跟終端相關,通過終端啟動的進程

        • 注:也可將在前臺啟動的進程送往后臺,以守護模式運行。

    • 進程狀態

      • 運行態:running

      • 就緒態:ready

      • 睡眠態:

        • 可中斷:interruptable

        • 不可中斷:uninterruptable

      • 停止態:暫停于內存中,但不會被調度,除非手動啟動之:stopped

      • 僵死態:zombie

    • 進程的分類:

      • cpu-Bound

      • IO-Bound

  • Linux系統上的進程查看及管理工具:pstree,ps,pidof,pgrep,top ,htop,glances,pmap,vnstat,dstat,kill,pkill,job,bg,fg,nohup,nice,renice,killall,…

    • pstree命令:pstree-display a tree of processes

    • ps命令:

      • /proc/:內核中的狀態信息;

        • 內核參數:

          • 可設置其值從而調整內核運行特性的參數;/proc/sys/

          • 狀態變量:其用于輸出內核中統計信息或狀態信息,僅用于查看;

      • 進程:

        • /proc/#:(#:PID)

      • ps-report a snapshot of the current processes

        • ps[options]

          • 選項有三種風格:

            • UNIX options,which may be grouped and must be preceded by a dash。

            • BSD options,which may be grouped and must not be used with a dash。

            • GNU long options,which are preceded by two dashes。

          • 啟動進程的方式:

            • 系統啟動過程中自動啟動:與終端無關的進程;

            • 用戶通過終端啟動:與終端相關的進程;

          • 選項:

            • a:所有與終端相關的進程;

            • x:所有與終端無關的進程;

            • u:以用戶為中心組織進程狀態信息顯示;

          • 常用組合之一:aux

            • VSZ:虛擬內存集;

            • RSS:Resident Size,常駐內存集;

            • STAT:

              • R:running

              • S:interruptable sleeping

              • D:uninterruptable sleeping

              • T:Stopped

              • Z:zombie

              • +:前臺進程

              • I:多線程進程

              • N:低優先進程

              • <:高級優先進程

              • s:session leader

          • 常用組合二:-ef

            • -F:顯示完整格式的進程信息;

              • C:cpu utilization

              • PSR:運行于那顆CPU之上

            • -H:以層級結構顯示進程的相關信息;

          • 常用組合三:-eFH

          • 常用組合四:

            • o field1,field2,…:自定義要顯示的字段列表,以逗號分隔;

              • 常用的field:pid,ni,pri,psr,pcpu,stat,comm,tty,ppid,rtprio

                • ni:nice值

                • pri:priority,優先級;

                • rtprio:real time priority;實時優先級;

    • pgrep,pkill命令:-look up or signal processes based on name and other attributes

      • pgrep[options]pattern

        • -u uid:effective user

        • -U uid:read user

        • -t TERMINAL:與指定的終端相關的進程;

        • -l顯示進程名;

        • -a:顯示完整格式的進程名;

        • -P pid:顯示此進程的子進程;

    • pidof命令:

      • 根據進程名,取其pid;

    • top命令;

      • -display Linux processes

        • 排序:

          • P:以占據cpu百分比排序;

          • M:以占據內存百分比排序;

          • T:以占用cup時間排序;

        • 首部信息:

          • uptime信息:I命令

          • tasks及cpu信息:t命令

          • 內存信息:m命令

        • 退出命令:q

        • 修改刷新時間命令:s

        • 終止指定的進程:k

        • 選項:

          • -d #:指定刷新時間間隔,默認為3秒;

          • -b:以批次方式顯示;

          • -n #:顯示多少批次;

    • uptime命令:顯示系統時間、運行時長及平均負載;

      • 過去1分鐘、5分鐘和15分鐘的平均負載;

        • 等待運行的進程隊列長度

    • htop命令:

      • 選項:

        • -d #:指定延遲時間間隔;

        • -u UserName:僅顯示指定用戶的進程;

        • -s COLUME:以指定字段進行排序;

      • 子命令:

        • l:顯示選定的進程打開的文件列表;

        • s:跟蹤選定的進程的系統調用;

        • t:以層級關系顯示各進程的狀態;

        • a:將選定的進程綁定至某指定的CPU核心;

    • vmstat命令:

      • -Report virtual memory statistics

      • vmstat [option][delay[count]]

        • procs:

          • r:等待運行的程序的個數;CPU上等待運行的任務的隊列長度;

          • b:處于不可中斷睡眠態的進程個數;被阻塞的任務隊列的長度;

        • memory:

          • swpd:交換內存使用總量;

          • free:空閑的物理內存總量;

          • buffer:用于buffer的內存總量;

          • cache:用于cache的內存總量

        • swap:

          • si:數據進入swap中的數據速率(kb/s)

          • so:數據離開swap的速錄(kb/s)

        • io:

          • bi:從塊設備讀入數據到系統的速度(kb/s)

          • bo:保存數據至塊設備的速率(kb/s)

        • system:

          • in:interrupts,終端速率;

          • cs:context switch,上下文切換的速率;

        • cpu

          • us:user space

          • sy:system

          • id:idle

          • wa:wait

          • st:stolen

      • 選項:

        • -s:顯示內存統計數據;

    • pmap命令:-report memory map of a process

      • pmap [options]pid[…]

        • -x:顯示詳細格式的信息;

      • 另一種查看方式:cat /proc/PIDmaps

    • glances命令: -A cross-platform curses-based monitoring tool

      • 內建命令

      • 常用選項:

        • -b:以Byte為單位顯示網上數據速率;

        • -d:關閉磁盤I/O模塊;

        • -m:關閉mount模塊;

        • -n:關閉network模塊;

        • -t #:刷新時間間隔;

        • -1:每個cpu的相關數據單獨顯示

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

        • -f /PATH/TO/SOMEDIR:設定輸出文件的位置;

      • C/S模式下運行glances命令;

        • 服務模式:

          • glances -s -B IPADDR

          • IPADDR:本機的地址,用于監聽;

        • 客戶端模式

          • glances -c IPADDR

          • IPADDR:是遠程服務器的地址

    • dstat命令:-vversatile tool for generating system resource statistics

      • dstat[-afv][options…][delay[count]]

      • 常用選項:

        • -c: 顯示cpu相關信息

          • -C #,#,…,total

        • -d: 顯示disk相關信息

          • -D total,sda,sdb,…

        • -g:顯示page相關統計數據

        • -m: 顯示memory相關統計數據

        • -n: 顯示network相關統計數據

        • -p: 顯示process相關統計數據

        • -r: 顯示io請求相關的統計數據

        • -s: 顯示swapped相關的統計數據

        • –tcp

        • –udp

        • –unix

        • –raw

        • –socket

        • –ipc

        • –top-cpu:顯示最占用CPU的進程

        • –top-io: 顯示最占用io的進程

        • –top-mem: 顯示最占用內存的進程

        • –top-latency: 顯示延遲最大的進程

    • kill命令: -terminate a process向進程發送控制信號,以實現對進程管理

      • 顯示當前系統可用信號:

      • kill -l

      • 每個信號的表示方法有三種;

        • 1)信號的數字標識;

        • 2)信號的完整名稱;

        • 3)信號的簡寫名稱;

      • 向發信號:

      • kill[-s signal|-SIGNAL]PID…

      • 常用信號:

        • 1) SIGHUP: 無須關閉進程而讓其重讀配置文件

        • 2) SIGINT: 中止正在運行的進程;相當于Ctrl+c

        • 9) SIGKILL: 殺死正在運行的進程

        • 15) SIGTERM:終止正在運行的進程

        • 18) SIGCONT:

        • 19) SIGSTOP: 指定信號的方法:

        • (1) 信號的數字標識;1, 2, 9

        • (2) 信號完整名稱;SIGHUP

        • (3) 信號的簡寫名稱;HUP

    • killall命令: -kill processes by name

      • killall [-SIGNAL] program

原創文章,作者:502795641,如若轉載,請注明出處:http://www.www58058.com/44497

(0)
502795641502795641
上一篇 2016-09-07
下一篇 2016-09-07

相關推薦

  • Linux syslog 系統日志管理

    Linux系統上面,系統可以記錄從開機到當前系統上面何時發生了哪些事情,在centos 上表現為rsylog,由三部分組成 1)syslogd:主要記錄系統和網絡等服務的日志信息 2)klogd:主要記錄內核產生的各項信息 3)logretate:主要用來對日志文件進行切割循環記錄等 特點: 1)多線程工作 2)支持以TCP,UDP,SSL,TSL,RELP…

    Linux干貨 2016-10-24
  • Cacti整合Zabbix監控

    前言: 由于公司現在很多業務都是使用cacti進行監控流量的,并且還有一些使用zabbix監控的項目,正好又有一個項目需要搭建Cacti+Zabbix進行綜合監控,搭建完畢之后發現,Cacti較之以前有了不小的改進,所以就來寫一寫Cacti和Zabbix監控整合的文章,順便說一下Cacti下的一些好用的插件。 環境: Centos 6.4 X86_64 Ca…

    Linux干貨 2015-03-19
  • N25 第二周作業

    一.Linux上常用的文件管理類命令及用法示例     1.cp復制命令,具體有兩個,一為單源復制,一種為多源復制。      常用選項         -i :交互式復制,覆蓋之前提醒用戶確認。       …

    Linux干貨 2016-12-12
  • 用戶創建過程&grep練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。     ~]# cp -r /etc/skel /home/tuser1     ~]# ls -la /home/tuser1  &…

    Linux干貨 2016-10-17
  • CentOS6啟動流程

    CentOS 6 啟動流程 | root密碼重置 | 添加系統服務 一、CentOS 6 啟動流程:     1)POST加電自檢         Power-On-Self-Test,主板在接通電源后,系統首先由BIOS程序來對對CPU、…

    Linux干貨 2016-09-08
  • 壓縮和解壓縮

    今天我們所講一些壓縮以及解壓縮的內容,可以方便我們去傳輸一些數據較大的文件,以及可以降低我們的內存使用率, 節省空間。我們常用的工具對單個文件進行壓縮有4種,對于多個文件進行打包壓縮有2種。 1、compress(單個文件壓縮)     壓縮后的文件后綴名都是.Z結尾     compress fi…

    2017-08-12

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-10 11:04

    盡量能將筆記轉換為優秀的博客來,而不是粘貼筆記,相信自己,加油?。?!

欧美性久久久久