詳解Linux工作管理與系統資源查看

Part One 工作管理

工作管理指的是在單個登錄終端同時管理多個工作的行為。Linux中的工作管理,簡而言之就是把工作放在後臺運行的行為。在windows中,我們經常也會針對各種工作做出管理,常用的將工作放在後臺的方式就是最小化某個應用程序。那麼為什麼要對工作進行管理呢?在windows中這很好理解,我們要對其他工作進行操作時,一般只有將當前工作界面最小化才能方便處理其他工作。同樣的,在Linux中,比如我們執行cp命令複製一個很大的文件時,如果不是將其置於後臺執行,就只能等到複製完成才能對其他工作進行處理。

在具體講工作管理之前,我們首先應注意到這樣幾個事項:

  1. 當前終端只能管理當前終端的工作,無法管理其他終端的工作。
  2. 放入後臺的命令要能持續運行一段時間,這樣才能捕捉和操作這個工作。例如,如果我們將ls命令放入後臺,而我們知道ls在回車後就已經結束了,此時放入後臺的意義就不存在了。
  3. 放入後臺的命令不能與前臺有交互或者需要前臺的輸入,否則其在後臺只能暫停,無法運行。例如,top命令需要與前臺交互,vi/vim命令是對文檔進行編輯,需要用戶輸入,此類命令在後臺處於暫停狀態而不能在後臺運行。

具體方法:

(1)把進程放入後臺

  • 在命令後接&符,用於把命令放入後臺執行,例如find /-name a & 查找系統下名字為a的文件。
詳解Linux工作管理與系統資源查看


  • 執行命令後ctrl+z,將命令在後臺暫停。最常見的比如top命令,執行top後,在交互命令中按ctrl+z,就將top放在後臺暫停了。

(2)查看後臺工作

  • 命令:jobs [-l]
  • 選項 -l:用於顯示工作的進程號
詳解Linux工作管理與系統資源查看

如圖,用jobs命令可以查看前面暫停在後臺的top命令,加上-l選項後顯示其進程號。在圖中,“+”號表示的是最近放入後臺的工作,也是默認恢復的第一個工作,“-”號表示的是倒數第二個放入後臺的工作。

(3)將後臺暫停的工作恢復到前臺執行

  • 命令:fg %工作號
  • 參數:%工作號:工作號是jobs命令輸出信息第一列的值,不是進程號,前面加上%號用於區別二者,%可省略。
詳解Linux工作管理與系統資源查看

如上圖所示,執行命令fg %1後,工作號為1的後臺工作將恢復到前臺執行,如果不加參數,fg命令默認恢復帶“+”號的工作。

(4)將後臺暫停的工作恢復到後臺執行

  • 命令:bg %工作號

後臺恢復執行的命令,是不能與前臺有交互的,否則無法恢復到後臺執行。

(5)後臺命令脫離終端執行

當我們需要將後臺命令脫離終端執行時,可以使用nohup命令,命令格式為nohup [命令]&。


Part Two 系統資源查看

系統資源查看用於查看系統各種資源的使用情況。通過查看系統資源,可以瞭解系統當前資源使用情況,從而監視系統當前健康狀態。

(1)vmstat命令監控系統資源

  • 格式:vmstat [刷新延時][刷新次數]。如vmstat 1 3表示每隔1s刷新1次,共刷新三次。
詳解Linux工作管理與系統資源查看

重點關注輸出信息:

  • procs:進程信息字段
  • -r:等待運行的進程數,值越大,系統越繁忙。
  • -b:不可被喚醒的進程數,值越大,系統越繁忙。
  • memory:內存信息字段
  • -swpd:虛擬內存使用情況,單位KB。
  • -free:空閒內存容量,單位KB。
  • -buff:
  • -cache:
  • swap:交換分區信息字段
  • -si:從磁盤中交換到內存中數據的大小,單位KB。
  • so:從內存中交換到磁盤中數據的大小,單位KB。數值越大,系統交換越頻繁,性能越差。
  • io:磁盤讀寫信息字段
  • -bi:從塊設備讀入數據的大小,單位是快。
  • -bo:寫到塊設備的數據大小,單位時塊。數值越大,系統IO越繁忙。
  • system:系統信息字段
  • -in:每秒被中斷的進程次數。
  • -cs:每秒進行的事件切換次數。
  • cpu:
  • -us:非內核進程消耗cpu運算時間的百分比。
  • -sy:內核進程消耗cpu運算時間的百分比。
  • -id:空閒cou的百分比。
  • -wa:等待I/O所消耗的cpu百分比。
  • -st:被虛擬機所盜用的cpu佔比。

(2)dmesg開機時內核檢測信息

  • 格式:dmesg。由於內核信息過多,常與grep結合使用,如dmesg | grep CPU查看CPU信息。
詳解Linux工作管理與系統資源查看

(3)free命令查看內存使用狀態

  • 格式:free[-b|-k|-m|-g]
  • 選項:
  • -b:以字節為單位顯示。
  • -k:以KB為單位顯示,默認。
  • -m:以MB為單位顯示。
  • -g:以GB為單位顯示。
詳解Linux工作管理與系統資源查看

  • 輸出信息:第一行:total是內存總數,used為已使用內存,free為空閒內存,shared為多個進程共享內存,buffres是緩衝內存,cached是緩存內存。第二行:-/buffers/cache的內存數,相當於底一行的used-buffers-cached。+/buffers/cache的內存數,相當於第一行的free+buffers+cached。第三行:total是swap的總數,used是已使用的swap數,free是空閒的swap數。

(4)查看CPU信息

  • 命令:cat /proc/cpuinfo
詳解Linux工作管理與系統資源查看

(5)uptime命令顯示系統的啟動時間和平均負載,即top命令的第一行,在w命令中也可以看到。

詳解Linux工作管理與系統資源查看

(6)查看系統與內核相關信息

  • 命令格式:uname[-a|-r|-s]
  • 選項:
  • -a:查看系統所有相關信息。
  • -r:查看內核版本。
  • -s:查看內核名稱。
詳解Linux工作管理與系統資源查看

(7)判斷系統當前位數

  • 命令:file /bin/ls
詳解Linux工作管理與系統資源查看

通過查看ls命令判斷操作系統的位數。

(8)查詢當前Linux系統的發行版本

  • 命令:lsb_release -a
詳解Linux工作管理與系統資源查看


後面小編會分享更多運維乾貨,感興趣的朋友走一波關注哩~

詳解Linux工作管理與系統資源查看


分享到:


相關文章: