<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-86  評論-33  文章-0  trackbacks-0
    1、什么是進程?
    進程:可并發執行的程序在一定數據集合上的運行過程。進程即是資源分配的基本單位,也是調度和分派的基本單位。

    2、UNIX操作系統進程調度算法:
    多級反饋調度隊列算法。

    3、進程狀態:創建、初始、就緒(活動、靜止)、執行、阻塞(活動、靜止)、結束。

    4、進程監控命令:
    ps 命令和進程工具/usr/proc/bin下的工具級。
    可以將ps和grep命令組合使用來搜索特定的信息。
    5、/usr/proc/bin的命令介紹:
    pstop 停止進程
    prun pid 重新啟動進程
    ptime pid 使用微狀態計算進程時間
    pwait pid 等待指定的進程終止.
    pcred pid 顯示可信度
    pfiles pid 顯示已打開文件的fstat 和fcntl 信息
    pflags pid 顯示每個lwp 的/proc 跟蹤標志,等待和持有信號量以及其他狀
    態信息
    pldd pid 顯示鏈接到每個進程的動態鏈接庫
    pmap pid 顯示地址映射空間
    psig pid 顯示信號操作
    pstack pid 顯示每個lwp 的十六進制與符號堆跟蹤
    ptree pid 顯示包含指定PID 的進程樹
    pwdx oid 顯示當前工作目錄

    6、ps命令格式:
    ps [ -aAdeflcjLPy ] [ -o format ] [ -t termlist ] [ -u userlist ] [ -U userlist ] [ -G grouplist ] [ -p proclist ] [ -g pgrplist ] [ -s sidlist ]

    7、常用的參數:
    -e 輸出所有進程報告
    -f 在第一欄顯示進程所有者的名字(不是UID)。該選項關閉-l、–t、–s 和–r 選項,打開-a 選項。
    -l 產生一個長的輸出報告,只是不包含STIME 字段

    8、ps -el的相關輸出參數解釋:
    bash-2.05$ ps -el

    F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
    19 T 0 0 0 0 0 SY ? 0 ? 0:16 sched
    8 S 0 1 0 0 40 20 ? 151 ? ? 0:00 init
    19 S 0 2 0 0 0 SY ? 0 ? ? 0:00 pageout
    19 S 0 3 0 0 0 SY ? 0 ? ? 0:30 fsflush
    8 S 0 377 1 0 40 20 ? 223 ? ? 0:00 sac
    8 S 0 378 1 0 40 20 ? 224 ? console 0:00 ttymon
    8 S 0 131 1 0 40 20 ? 289 ? ? 0:00 rpcbind

    F 十六進制標志,它們加起來表示進程的當前狀態。如下所述:
    00 進程終止,而且它們在進程表中的空間已釋放。
    01 系統進程,長駐內存
    02 進程被父進程跟蹤
    04 進程被父進程跟蹤而且已被停止
    08 該進程無法被信號量喚醒
    10 該進程當前在內存中,而且被鎖定直到一個事件完成
    20 進程不能被交換出

    S 進程當前狀態,由以下字母之一顯示:
    O 當前正在處理器上運行
    S 睡眠;等待I/O事件完成
    R 運行結束
    I 空閑;進程被創建
    Z 僵死。進程已終止
    T 由于父進程跟蹤而停止
    X 等待更多的內存

    UID 進程所有者的用戶ID
    PID 進程ID
    PPID 父進程ID
    C 進程的CPU使用情況(即進程占CPU時間的百分比)
    PRI 進程優先權方案。較大的數表示較低的優先權
    NI 進程的nice值,該值與優先權方案相關聯。使一個進程“nicer”意指降低該進程的優先權,以使它不會用盡CPU的時間
    SZ 進程請求的虛擬內存量。這是該系統對內存需求的一個好的指標。
    TTY 啟動進程(或者父進程)的終端。帶問號的進程無控制終端(通常為系統進程)
    TIME 自進程啟動以來占CPU時間總量
    COMD 產生進程的命令

    9、使用ps報告。
    查找屬于一個用戶的許多相同的工作。Kill命令終止進程。 ps -U username
    查找TIME字段中占用了很多CPU時間的進程。這樣的進程可能在死循環。ps -e
    查找C字段,找出不重要但占用了大量CPU時間的進程。如果該進程獲取過多內存,刪除該進程。如果許多進程占用了大量內存,則系統可能需要增加內存。ps -el
    注意使用越來越多CPU時間的失控進程??梢酝ㄟ^使用-f選項查看進程啟動時間(STIME)以及通過查看TIME字段中的CPU時間總量來檢測失控進程。 ps -f

    10、刪除進程。
    在正常途徑無法結束時才使用刪除命令。
    #kill - signal pid
    signal:57
    signal:
    2 中斷
    3 退出
    4 非法指令
    5 跟蹤中斷
    6 Abort
    7 EMT指令(Emulation競爭trap)
    8 浮點格式的異常情況
    9 kill(不能被捕獲或忽略)
    10 通道錯誤
    11不合法的內存區段
    12 錯誤系統調用
    13 寫入不可讀的連通管道
    14 alarm clock
    15 軟件結束信號
    16 用戶定義的信號1
    17用戶定義的信號2
    18 子進程狀態被改變
    19 電源壞掉
    20窗口(Window)的大小被改變
    21Urgent(緊急的) Socket Condition
    22 Pollable(可查詢的)event
    23 停止
    24 由用戶終止
    25 繼續執行
    26 停止終端輸入
    27 停止終端輸出
    28 virtual Timer expired
    29 Profiling time expired
    30 超過CPU時間
    31 超過文件大小限制
    32 Socket I/O possible

    有時即使用kill命令,但進程仍未被刪除。最有可能的三種情況:
    進程在退出前等待設備完成操作。
    進程在等待由于NFS故障而導致的無法使用的資源。要刪除此類進程,輸入kill -quit PID
    進程為僵死進程,在ps報告的defunct的消息中顯示。僵死進程是釋放了所有資源,但未接受到父進程確認的進程。只有收到確認才刪除進程在進程表中的入口。下一次引導時僵死進程會被清除。僵死進程不影響系統性能,不需要刪除。

    11、優先權控制命
    使用priocntl命令可以:
    顯示或設置指定進程的調度參
    顯示系統調度程序的當前配置信息
    執行帶有指定調度參數的命令
    每個進程都有不同的級,每級分配有各自不同的調度策略。
    系統可能配置的級包括:
    系統(SYS)
    交互(IA)
    實時(RT)
    分式共享(TS)
    對于分式共享級,用戶提供的優先權范圍為:-20~+20。一個
    分時共享進程的優先權(用戶模式優先權)是從父進程繼承
    而來。系統在分時調度表中查找用戶模式優先權,加入任何
    nice值或這者priocntl優先權值(用戶提供),保證創建的全
    局優先權在0~59之間。
    在默認配置中,一個可運行的實時進程在任何其它進程之前運行。實時進程使用不當會導致系統性能急劇下降。
    1. 顯示進程級的基本信息(進程級或系統調度參數):
    輸入priocntl -l并回車
    2. 顯示進程的全局優先級
    使用ps -ecl命令顯示進程的全局優先權。全局優先權在PRI欄列出
    3、指定進程的優先級:
    輸入priocntl -e -c class -m user -limit -p priority command - name回車
    -e 執行命令
    -c 指定級(默認選項是TS(分時共享)或RI(實時)
    -m 用戶限制選項,指定-p選項提升或降低優先權的最大量。
    -p 允許指定用戶提供的優先權,范圍為-20~+20。

    4.更改分時共享進程的調度參數
    依照以下步驟更改分時共享進程的調度參數:
    1)成為超級用戶。
    2)輸入priocntl -s -m user -limit [-p priority] -i id type id -list回車。
    -s允許設置用戶優先權范圍的上限
    -m 用戶限制選項,指定-p選項提升或降低優先權的最大量。
    -p優先權命令名選項,允許指定優先權。
    -I id -type和id -list選項使用id -type和id -list的組合標識進程, id -
    type指定id類型,如PID或UID。
    3)輸入ps -ecl|grep id -list回車。
    4)檢查PRI欄的輸出,驗證已經成功地更改了進程狀態。
    % priocntl -s -c RT -t 500 -p 20 myprog
    % ps -ecl|grep myprog

    5. 更改進程
    依照以下步驟更改進程級:
    1)成為超級用戶。
    2)輸入priocntl -s -c class -i id type id -list回車。
    -s允許設置用戶優先權范圍的上限并更改優先權
    -c 指定想更改的進程級為TS(分時共享)級或RI(實時)級
    -I id -type和id -list選項使用id -type和id -list的組合標識進程, id -type指定id
    類型,如PID或UID。
    3)輸入ps -ecl|grep id -list回車。
    4)檢查PRI欄的輸出,驗證已經成功地更改了進程狀態。
    注意:必須是超級用戶或者在實時shell中操作,更改進程級為非實時級或者實時級。

    6、更改進程優先級
    使用nice命令可以提高或降低一個命令或進程的優先權。
    不帶參數使用該命令則默認nice值增4個單位,使進程優先
    權降低。
    注意:必須是超級用戶才能。
    /usr/bin/nice command -name(默認,進程的優先權降低4個單位)
    /usr/bin/nice +10 command -name(進程的優先權降低10個單位)
    /usr/bin/nice -10 command -name(進程的優先權增加10個單位)
    /usr/bin/nice - -10 command -name(nice 值減少10個單位,提高一個命令的優先權)
    posted on 2008-06-11 09:34 Derek.Guo 閱讀(2638) 評論(0)  編輯  收藏 所屬分類: Linux/Unix
    MSN:envoydada@hotmail.com QQ:34935442
    主站蜘蛛池模板: 亚洲国色天香视频| 久久99亚洲综合精品首页| 亚洲自偷自拍另类图片二区| 久久久久免费视频| 久久久久国产亚洲AV麻豆| 日亚毛片免费乱码不卡一区| 国产一区二区三区在线免费观看| 精品久久久久亚洲| 亚洲国产精品人人做人人爽| 一区二区三区视频免费| 自拍偷自拍亚洲精品情侣| 中国内地毛片免费高清| 久久亚洲综合色一区二区三区| 成人黄网站片免费视频 | 在线日本高清免费不卡| 亚洲精品国产成人中文| 黄色网址免费观看| 亚洲国产欧美国产综合一区| 大胆亚洲人体视频| 久久一区二区三区免费| 少妇中文字幕乱码亚洲影视| 亚洲高清中文字幕免费| 精品国产亚洲AV麻豆 | 亚洲AV无码一区二区三区国产| 老司机午夜性生免费福利| 亚洲综合另类小说色区| 亚洲一区免费观看| 亚洲日韩国产欧美一区二区三区| 免费一级毛片不卡在线播放| 中文字幕的电影免费网站| 亚洲精品456在线播放| 女人18一级毛片免费观看| 一出一进一爽一粗一大视频免费的| 久久亚洲免费视频| 成年18网站免费视频网站| jizz18免费视频| 亚洲国产福利精品一区二区| 亚洲?V无码乱码国产精品| 久久免费国产视频| 精品亚洲成A人在线观看青青| 亚洲AV无码久久精品成人|