<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12
      Fork me on GitHub

      Linux(六):系統運維常用命令

      實際的生產環境下,不論是研發還是運維,或多或少的得面對在linux上定位問題這個關卡,這里介紹一下linux環境下一些狀態查看常用的命令。

      系統資源監控

      總體資源占用情況查看

      命令:top  

      像windows一樣,linux也有一個“進程管理”,可以在命令行執行 top ,就可以整體的查看當前機器的資源及進程情況。

      這里第一行 (top)  顯示的信息包含: 

      系統時間:19:27:01

      運行時間:up 54 min,

      當前登錄用戶:  1 user

      負載均衡(uptime)  load average: 0.02, 0.03, 0.00

           average后面的三個數分別是1分鐘、5分鐘、15分鐘的負載情況。

      load average數據是每隔5秒鐘檢查一次活躍的進程數,然后按特定算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高于5的時候就表明系統在超負荷運轉了

      第二行 (Tasks)顯示的當前的進程整體統計

      第三行 (%CPU)是CPU狀態信息,具體為:

      0.0%us【user space】— 用戶空間占用CPU的百分比。

      0.1%sy【sysctl】— 內核空間占用CPU的百分比。

      0.0%ni【】— 改變過優先級的進程占用CPU的百分比

      99.9%id【idolt】— 空閑CPU百分比

      0.0%wa【wait】— IO等待占用CPU的百分比

      0.0%hi【Hardware IRQ】— 硬中斷占用CPU的百分比

      0.0%si【Software Interrupts】— 軟中斷占用CPU的百分比

        第四行 (KiB Mem)整體內存的狀態,分別為總量,已用,空閑,緩存

      第五行 (KiB Swap)交換區內存

      最后是各進程的狀況

      這里說一下第四行和第五行,第四行中使用中的內存總量(used)指的是現在系統內核控制的內存數,空閑內存總量(free)是內核還未納入其管控范圍的數量。

      對于內存監控,也就是說我們對于內存的監控主要是看第五行swap交換分區的used,如果這個數值在不斷的變化,說明內核在不斷進行內存和swap的數據交換,這是真正的內存不夠用了。

      命令:top -p [pid]

      除了整體來看,我們也可以鎖定單個進程的資源情況進行查看。

      例如: top -p 1864

      詳細內容為

      PID — 進程id
      USER — 進程所有者
      PR — 進程優先級
      NI — nice值。負值表示高優先級,正值表示低優先級
      VIRT — 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
      RES — 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
      SHR — 共享內存大小,單位kb
      S —進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵尸進程
      %CPU — 上次更新到現在的CPU時間占用百分比
      %MEM — 進程使用的物理內存百分比
      TIME+ — 進程使用的CPU時間總計,單位1/100秒
      COMMAND — 進程名稱(命令名/命令行)

      計算機端口關聯進程查看

        這里也是我們最經常用到的,不管是安裝新應用,還是排查應用的進程情況,都需要一個去了解端口是否被占用,或者根據端口來拿到一個進程的pid。

      命令:lsof -i: [端口號]

      例如:lsof -i:22

          

      這里,我們以查看22端口被監聽的進程為例,這一就能得出,22這個端口被哪一進程監聽,從而得到Pid等多個參數。

      COMMAND 進程名稱 | PID 進程標識符 | USER 進程所有者 | FD 文件描述符 | TYPE 文件類型 | DEVICE 指定磁盤名稱|SIZE 文件大小 | NODE 索引節點 | NAME 打開文件的確切名稱

      有些系統可能并沒有lsof命令,如果系統在互聯網環境下,可以執行 yum install lsof 進行安裝。

      命令:netstat -tunlp | grep [端口號]

      有些環境下的linux可能并沒有安裝lsof,并不支持lsof命令,我們又無法安裝losf的時候,我們可以使用linux自帶的netstat來定位。

      例如: netstat -tunlp | grep 22

      這里,根據netstat提供的信息,可以知道哪些進程在監聽22端口,并且得知進程唯一標識pid 。

      關于 netstat命令的其他參數這里不過多解釋,可以自行某度,同樣,若系統無該命令,可以使用 yum -y install net-tools 進行安裝。

      計算機內存狀態查看

      命令:free -g

      除了前面的top可以查看內存的情況,也可以單獨的查看當前linux內存的狀況,那就是 free -g 命令

      例如:free -g

      詳細字段解釋為:

      total:表示 總計物理內存的大小。

      used:表示 已使用多少。

      free:表示 可用內存多少。

      Shared:表示多個進程共享的內存總額。

      Buffers/cached:表示 磁盤緩存的大小。

      這里對于內存的監控同top一樣,我們還是主要關心 swap 這一欄。

      命令:cat /proc/meminfo

      確切地說,這個不能叫做命令,只是一個打開系統級參數文件的查看,proc目錄下放著系統的一些資源情況的文件。

      清空緩存:echo3 >/proc/sys/vm/drop_caches

      當在Linux下頻繁存取文件后,物理內存會很快被用光,當程序結束后,內存不會被正常釋放,而是一直作為caching,一直被占用著,會導致上面的top以及free命令查看的內存計算不夠準確,這時候我們可以通過執行 echo3 >/proc/sys/vm/drop_caches 來進行手動釋放緩存。

      關于清除緩存的詳細細節可以看一下 https://blog.csdn.net/qq_36357820/article/details/79798788

      計算機CPU狀態查看

      命令:cat /proc/cpuinfo

      和上面的內存一樣,這也是在proc這個目錄下查看當前機器的cpu狀況

      例如:cat /proc/cpuinfo

      詳細字段解釋:

      processor :系統中邏輯處理核的編號。對于單核處理器,則課認為是其CPU編號,對于多核處理器則可以是物理核、或者使用超線程技術虛擬的邏輯核
      vendor_id :CPU制造商     
      cpu family :CPU產品系列代號
      model   :CPU屬于其系列中的哪一代的代號
      model name:CPU屬于的名字及其編號、標稱主頻
      stepping   :CPU屬于制作更新版本
      cpu MHz   :CPU的實際使用主頻
      cache size   :CPU二級緩存大小
      physical id   :單個CPU的標號
      siblings       :單個CPU邏輯物理核數
      core id        :當前物理核在其所處CPU中的編號,這個編號不一定連續
      cpu cores    :該邏輯核所處CPU的物理核數
      apicid          :用來區分不同邏輯核的編號,系統中每個邏輯核的此編號必然不同,此編號不一定連續
      fpu             :是否具有浮點運算單元(Floating Point Unit)
      fpu_exception  :是否支持浮點計算異常
      cpuid level   :執行cpuid指令前,eax寄存器中的值,根據不同的值cpuid指令會返回不同的內容
      wp             :表明當前CPU是否在內核態支持對用戶空間的寫保護(Write Protection)
      flags          :當前CPU支持的功能
      bogomips   :在系統內核啟動時粗略測算的CPU速度(Million Instructions Per Second)
      clflush size  :每次刷新緩存的大小單位
      cache_alignment :緩存地址對齊單位
      address sizes     :可訪問地址空間位數
      power management :對能源管理的支持,有以下幾個可選支持功能:

        ts:  temperature sensor

        fid:   frequency id control

        vid:  voltage id control

        ttp:  thermal trip

        tm:

        stc:

        100mhzsteps:

        hwpstate:

       

      命令:uptime

      如果再細致一點,查看當前系統的負載情況,可以使用 uptime來進行查看

      例如:uptime

       

      這里,第一項是當前時間,up 表示系統正在運行,5:53 是系統啟動的總時間,最后是系統的負載load信息。

      系統負載是處于可運行runnable或不可中斷uninterruptable狀態的進程的平均數。可運行狀態的進程要么正在使用 CPU 要么在等待使用 CPU。 
      不可中斷狀態的進程則正在等待某些 I/O 訪問,例如等待磁盤 IO。 有三個時間間隔的平均值。負載均值的意義根據系統中 CPU 的數量不同而不同,負載為 1 對于一個只有單 CPU 的系統來說意味著負載滿了,而對于一個擁有
      4 CPU 的系統來說則意味著 75% 的時間里都是空閑的。

      計算機存儲狀態查看

      命令:df -h

      可以對整體的Linux進行一下磁盤整體使用情況的查看

      例如:df -h

      Filesystem:文件系統

      Size: 分區大小

      Used: 已使用容量

      Avail: 還可以使用的容量

      Use%: 已用百分比

      Mounted on: 掛載點

      此外,還有部分額外命令

      df -hl:查看磁盤剩余空間

      df -h:查看每個根路徑的分區大小

      du -sh [目錄名]:返回該目錄的大小

      du -sm [文件夾]:返回該文件夾總M數

      du -h [目錄名]:查看指定文件夾下的所有文件大小(包含子文件夾)

      殺死進程

      命令:kill 

      殺死一個進程 ,在linux中我們使用kill命令,kill命令的基本格式是 kill [參數] [進程號],這里要說一下這個參數位置,這個參數可放kill的基本參數,具體這里就不多說了,可以自行去了解,另外可以放信號,信號的意思是向操作系統發送一個殺死進程的命令,并攜帶額外的信息,例如是強制殺死,還是由你系統稍后殺死。

      kill命令可以帶信號號碼選項,也可以不帶。如果沒有信號號碼,kill命令就會發出終止信號(15),這個信號可以被進程捕獲,使得進程在退出之前可以清理并釋放資源。也可以用kill向進程發送特定的信號。

      例如我想強制殺死一個進程,立即執行,那信號值為9 即:kill -9 12342

      實際應用:定位進程 

      找到PID

      一般系統出現了問題(系統卡頓、程序緩慢、服務無響應……),我們可以通過各種手段去定位問題,使用最多的思路就是,根據全局的資源信息判斷造成問題的進程是哪個,通過上面介紹的 top命令就可以看到整體的系統情況,從中找到資源占用最大的或者認為有問題的進程;

      根據PID找到進程所在程序的位置

      方式一: 命令 ps -aux | grep -v grep | grep [pid]

      我們已經通過top 找到了PID,下面通過命令鎖定進程1864進程。

      ps -aux |grep -v grep|grep 1864

      方式二:命令 ps -ef | grep [進程/程序關鍵字]

      或者你事先知道你要定位的程序名稱 使用   ps -ef | grep [進程/程序關鍵字] , 例如 我們想知道tomcat的進程

      ps -ef | grep tomcat

      這時候就能得到進程的基本信息

      方式三: 查看 /proc/[PID] 目錄

      就像之前看內存一樣,我們可以直接從 /proc目錄下,查看當前運行進程的情況

      cd /proc/1864

      然后,通過ll命令查看

      問題定位解決思路

      posted @ 2021-04-11 16:53  糖拌西紅柿  閱讀(1992)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产成人综合色就色综合| 麻豆a级片| 国产蜜臀av在线一区在线| av中文字幕国产精品| 国产日产欧美最新| 骚虎视频在线观看| 国产短视频精品一区二区| 亚洲精品久久久久久婷婷| 国产成人精品aa毛片| 国产精品久久无码不卡黑寡妇| 国产亚洲天堂另类综合| 久久97超碰色中文字幕| a在线免费| 九九热在线免费观看视频| 国产初高中生粉嫩无套第一次| 久热综合在线亚洲精品| 国产精品第一页一区二区| 久久人与动人物a级毛片 | 人妻伦理在线一二三区| 中文字幕在线日韩| 亚洲av激情一区二区三区| 日韩三级一区二区在线看| 精品无码成人久久久久久| 91在线国内在线播放老师| 99国产欧美久久久精品蜜芽| 国产精品男女爽免费视频| 国产成人综合在线女婷五月99播放 | 99国产精品自在自在久久| 毛片网站在线观看| 亚洲综合国产伊人五月婷| 男女爽爽无遮挡午夜视频| 国产欧美精品一区二区三区四区| 成人区人妻精品一区二蜜臀 | 人妻聚色窝窝人体WWW一区| 精品人妻一区二区| 中文字幕人妻av第一区| 大地资源中文第二页日本| 国产精品久久久久久人妻精品动漫| 国产精品国产亚洲看不卡| 亚洲男人精品青春的天堂| 国产毛片三区二区一区|