<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 閱讀(2636) 評論(0)  編輯  收藏 所屬分類: Linux/Unix
    MSN:envoydada@hotmail.com QQ:34935442
    主站蜘蛛池模板: 成年性羞羞视频免费观看无限| 亚洲成a人在线看天堂无码| 亚洲av无码专区在线电影| 亚洲精品国自产拍在线观看| 免费视频成人片在线观看| 亚洲精品成a人在线观看夫| 狠狠色伊人亚洲综合成人| 24小时日本在线www免费的| 国产精品福利片免费看| 亚洲国产成人久久精品app | 狠狠色婷婷狠狠狠亚洲综合| 中文字幕亚洲免费无线观看日本 | 午夜国产精品免费观看 | 色偷偷噜噜噜亚洲男人| 亚洲va中文字幕无码久久| 老司机永久免费网站在线观看| 中国黄色免费网站| 亚洲精品无码国产片| 久久国产精品亚洲一区二区| 国产色爽免费视频| 91精品全国免费观看含羞草| xxxxx做受大片在线观看免费| 国产精品久久亚洲不卡动漫| 亚洲精品无码不卡在线播放HE| 四虎www免费人成| 国产成人免费高清激情明星| 99久久婷婷免费国产综合精品| 亚洲人成色4444在线观看| 久久久久亚洲精品天堂| 久久国产成人亚洲精品影院| 天堂在线免费观看中文版| 亚洲视频在线免费观看| 三年片免费高清版 | 精品国产福利尤物免费| 精品国产亚洲一区二区三区在线观看| 99人中文字幕亚洲区| 亚洲日产无码中文字幕| www.亚洲色图.com| 精品国产免费观看久久久| 欧洲黑大粗无码免费 | 西西人体44rt高清亚洲|