linux學習筆記之進程管理

ps    process state

unix    system V
    BSD

ps -e    顯示所有進程(tty相關的是前臺進程 ?tty無關)
    -u    用戶相關
    -f    full    format    listing
    -F    print extra    information
    -o command  選擇顯示字段

ps aux
ps -ef
ps -eF

bsd風格    
    a
    x
    
    state:
    S    sleep
    s    session loader
    <    high priority
    N    low    priority
    l    multithread
    +    前臺進程組中的進程    如與bash相關的前臺進程組

    D    uninterruptible    sleeping
    R    runnable    or    running
    T    stop
    Z    zombie
    
    加[]表示內核級線程
    
    ps aux    | wc -l

    pgreb    過濾顯示某些進程

    pidof    process
    

進程間通信    IPC
    信號
    共享內存
    proc目錄
    
    信號    短小信息,由一個進程發往另一個進程
        man 7 signal        kill -l
    SIGHUP    1    運行時重啓配置
    SIGINT    2    終止信號    ctrl+c
    SIGKILL    9    立即結束
    
    kill    -signal    pid    signal    默認15
    killall    -signal    pid    進程樹
    kill -HUP     httpd
    重新讀取配置文件
    
j進程優先級
    

   

進程:
    Task_struct  c語言實現    鏈表實現
    進程描述符  元數據
    雙向鏈表
    struct含有龐大的描述符數據結構。
    進程由內核切換  存在用戶態與內核態之間的切換。
    內核模式不應占用太多時間  切換過多

    cpu密集型  批處理    時間片長  優先級低
    io交互式        時間片短  優先級高
    實時進程 real-time

    linux優先級  proority
    實時優先級  1-99 數字越小 優先級越低
    靜態優先級  100-139  數字越小 優先級越高
    實時優先級高於靜態優先級
    
    內核進程常爲實時優先級   rt實時優先級
    
    nice 調整靜態優先級    Nice -20  ~   19   對應  100-139  默認nice 0 優先級120

    進程隊列  兩個 活動隊列  過期隊列
    活動時調換兩個隊列  活動  過期  調換    o(1)算法

    CFQ complete fair queue
    SCHED_Other  更適用於桌面系統

    cow Copy On Write 寫時複製 先與父進程共享資源 子進程要修改則複製

    RT
    SCHED_FIFO
    SCHED_RR

    100-139
    SCHED_Other
    
    SCHED_BATCH
    SCHED_IDLE

    memory controller
    get address
    read/write

    三級緩存是共享的  存在競爭
    
    numa  no union memory access

    內核重新平衡內存訪問
    
    
    
    
    



   

    
    
   
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章