Linux系統管理:Linux要精於管理之用進程管理

來源:互聯網
上載者:User

         進程:即process,由於系統的資源是有限的,所以要合理的分配有限的資源,這也是需要進程管理的原因。

         進程的資源: CPU    一般是命令的處理。

                                   記憶體      32bit的CPU所能支援的最大記憶體為4G。

         一個進程可以理解為一個程式,進程與進程在記憶體中不知道對方的存在,在LINUX裡進程調度(scheduling)是核心中非常重要的一個系統。舉個例子來解釋下進程之間的調度。

對於FTP伺服器,要經常的讀寫,屬於I/O密集型,而高畫質 DVD則需要解碼,所以需要佔用CPU較大的資源。這裡引入進程優先順序的概念,比如一邊看電影,一邊聊QQ,想象一下,如果CPU全力解碼,是不是不會延遲處理鍵盤的輸入資訊?  這時候,CPU盡量給電影,但是QQ的優先順序更高,在這裡,QQ的I/O被縮短了,但是相應的優先順序別更高了,這也是可以一邊聊QQ一邊看電影的原因。

          進程有限級分為:靜態優先順序和動態優先順序,在LINUX中用數值分別代表他們的優先順序,數值越小優先順序越高。

靜態優先順序:100~139,可以手動調整,有一個數值nice,專門用來表示可以增加或減少優先順序數值的大小。

動態優先順序:0~99 被稱為即時優先順序,動態優先順序永遠大於靜態優先順序

              nice值的範圍為-20~19,普通使用者只能調高自己的nice值,只有root使用者有權調低。

調整NICE值命令

nice -n 6  COMMAND       //只有管理員才可以降
renice : 對已經啟動過的進程調整nice值
renice N PID              //打算將nice調整到幾

#為什麼叫nice值,可以這樣理解,一個進程優雅的把自己的資源讓給了別的進程,這個動作很優雅(nice)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 查看進程的命令ps:

ps命令由於當時UNIX兩大陣營的分隔,各自出現了一種書寫風格 :sys V風格(無-)和BSD風格(有-)
 ps : process state 
     -e   show all process      
     a    和終端無關的進程
     x    和終端有關的進程
     -u   顯示進程發起使用者
     -F   顯示額外資訊你    
     -f   顯示完整資訊
     j     以作業的方式顯示
     h   顯示進程間的關係
     o   自訂顯示一方面資訊
pstree  顯示當前進程數

常用的組合
ps -eo pid    //%cpu,comm
ps eF
ps -ejh
ps axjf
ps aux           //最常用的ps命令

 

ps裡的各項數值說明

PID:進程號       PPID:父進程             TTY 終端裝置         STAT:程式運行狀態         RRS:實際記憶體佔用            VSZ:虛擬記憶體佔用

對於STAT分為:運行態 running        
                              就緒態 ready            I/O完成
                              停止態 stopped         必須管理員手動喚醒
                              睡眠態 sleep              等待使用者輸入資料或者正在讀取硬碟資料
                              sleep不可以直接進入running  
                              sleep: 不可中斷  uninterruptible sleep      
                                           可中斷  interruptible sleep
                              D:不可中斷的睡眠
                              R:正在運行或準備好運行
                              R:可中斷的睡眠
                              T:停止態
                              Z: Zombie殭屍態    

                              < : 高優先順序進程
                              N : 低優先順序進程
                              + : 屬於某一個前台進程組的進程
                              s :某一個進程組的leader進程
                               l  :多線程的進程

成為殭屍進程的原因 : 1 進程執行完了沒有釋放記憶體
                                           2 進程正在釋放記憶體( 正常)

進程的有趣現象 : linux裡父進程回收子進程:白髮人送黑髮人
                                    孤兒進程orphin:父進程死了,子進程還存在
                                    init進程負責回收orphin,它是一切進程的父進程,所有的進程都是通過複製它而來

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.