當前位置 博文首頁 > 信息技術智庫:??給你的Linux把把脈(內存、磁盤、CPU、網絡)??

    信息技術智庫:??給你的Linux把把脈(內存、磁盤、CPU、網絡)??

    作者:[db:作者] 時間:2021-09-13 19:00

    🍅 作者主頁:不吃西紅柿

    🍅 簡介:CSDN博客專家🏆、信息技術智庫公號作者?。簡歷模板、職場PPT模板、技術難題交流、面試套路盡管【關注】私聊我。

    🍅 歡迎點贊 👍 收藏 ?留言 📝 如有錯誤敬請指正!

    今日重點

    ? ?① 學會查看linux各種狀態,包括:網絡IO、磁盤、CPU、內存等;

    ? ?② 學會理解命令所代表的含義,能夠迅速發現集群存在的問題。

    ?

    1、核心命令

    linux 監控網絡IO、磁盤、CPU、內存:

    • CPU:vmstat 、sar –u、top
    • 磁盤IO:iostat –xd、sar –d、top
    • 網絡IO:iftop -n、ifstat、dstat –nt、sar -n DEV 2 3
    • 磁盤容量:df –h?
    • 內存使用:free –m、top

    2、常用命令

    (1)內存:條數、每條大小、內存是DDR4還是DDR3、內存頻率是2666MT/S還是1600MT/s

    條數:?dmidecode|grep -A5 'Memory Device'|grep Size | grep -v Installed |wc -l?

    每條大小: ??dmidecode|grep -A5 'Memory Device'|grep Size | grep -v Installed |uniq

    內存類型: ??dmidecode | grep -A16 "Memory Device" | grep 'Type:' |grep -v Unknown |uniq

    內存頻率: ???dmidecode | grep -A16 "Memory Device" | grep 'Speed' |grep -v Unknown |uniq

    (2)硬盤:塊數,大小

    fdisk -l | grep "Disk /dev/sd"

    (3)查看什么進程占用端口

    netstat -antp | fgrep <port>

    (4)查看進程資源

    1. jps -l? ? ? ? ? ?#? 獲取進程id
    2. jmap -heap 21046

    (5)CPU個數

    cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

    (6)CPU核數

    cat /proc/cpuinfo| grep "cpu cores"| uniq

    (7)CPU主頻

    cat /proc/cpuinfo| grep "model name"| uniq


    3、核心命令詳解

    3.1、ps aux

    ps命令用于查看系統中的進程狀態

    ?

    USER ? ? ? PID %CPU %MEM ? ?VSZ ? RSS TTY ? ? ?STAT START ? TIME COMMAND
    ?● USER,進程所有者的用戶名。
    ?● PID,進程號,可以唯一標識該進程。
    ?● %CPU,進程自最近一次刷新以來所占用的CPU時間和總時間的百分比。
    ?● %MEM,進程使用內存的百分比。
    ?● VSZ,進程使用的虛擬內存大小,以K為單位。
    ?● RSS,進程占用的物理內存的總數量,以K為單位。
    ?● TTY,進程相關的終端名。
    ?● STAT,進程狀態,用(R--運行或準備運行;S--睡眠狀態;I--空閑;Z--凍結;D--不間斷睡眠;W-進程沒有駐留頁;T停止或跟蹤。)這些字母來表示。
    ?● START,進程開始運行時間。
    ?● TIME,進程使用的總CPU時間。
    ?● COMMAND,被執行的命令行。


    3.2、Top

    top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似于Windows的任務管理器。

    ?

    1、上半部分顯示了整體系統負載情:

    • top一行:從左到右依次為當前系統時間,系統運行的時間,系統在之前1min、5min和15min內cpu的平均負載值
    • Tasks一行:該行給出進程整體的統計信息,包括統計周期內進程總數、運行狀態進程數、休眠狀態進程數、停止狀態進程數和僵死狀態進程數
    • Cpu(s)一行:cpu整體統計信息,包括用戶態下進程、系統態下進程占用cpu時間比,nice值大于0的進程在用戶態下占用cpu時間比,cpu處于idle狀態、wait狀態的時間比,以及處理硬中斷、軟中斷的時間比
    • Mem一行:該行提供了內存統計信息,包括物理內存總量、已用內存、空閑內存以及用作緩沖區的內存量
    • Swap一行:虛存統計信息,包括交換空間總量、已用交換區大小、空閑交換區大小以及用作緩存的交換空間大小

    2、下半部分顯示了各個進程的運行情況:

    • PID: 進程pid
    • USER: 拉起進程的用戶
    • PR: 該列值加100為進程優先級,若優先級小于100,則該進程為實時(real-time)進程,否則為普通(normal)進程,實時進程的優先級更高,更容易獲得cpu調度,以上輸出結果中,java進程優先級為120,是普通進程,had進程優先級為2,為實時進程,migration 進程的優先級RT對應于0,為最高優先級
    • NI: 進程的nice優先級值,該列中,實時進程的nice值為0,普通進程的nice值范圍為-20~19
    • VIRT: 進程所占虛擬內存大小(默認單位kB)
    • RES: 進程所占物理內存大小(默認單位kB)
    • SHR: 進程所占共享內存大小(默認單位kB)
    • S: 進程的運行狀態
    • %CPU: 采樣周期內進程所占cpu百分比
    • %MEM: 采樣周期內進程所占內存百分比
    • TIME+: 進程使用的cpu時間總計
    • COMMAND: 拉起進程的命令

    【西紅柿寄語】

    1、遇到問題不要慌。根據經驗,再通過命令排查內存、磁盤、網絡、cpu,問題無非就這幾類,切不可著急忙慌亂改一通,讓簡單問題復雜化。

    2、根據以上命令,提前設置監控預警。監控預警能夠讓你及時發現系統的性能信息、比如磁盤快滿了,內存超負荷了,我們可以提前作出調整。


    熱門專欄推薦:

    🥇 大數據集錦專欄:大數據-硬核學習資料 & 面試真題集錦?
    🥈?數據倉庫專欄:數倉發展史、建設方法論、實戰經驗、面試真題?
    🥉?Python專欄:Python相關黑科技:爬蟲、算法、小工具?

    (優質好文持續更新中……)?

    cs
hallobike的博客:圖像分類中的深度學習網絡匯總 hallobike的博客:一文看懂網絡中間層特征矩陣和卷積層參數 hallobike的博客:python移動文件到新的文件夾并重命名 hallobike的博客:解決OpenCV讀取視頻結束后報錯的問題 貓耳山在天邊:《Linux命令行與shell腳本編程大全》(第三版)讀 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 lyndon:CPU 上下文切換 lyndon:printf()、printk()、消息級別、日志級別 lyndon:gcc 添加 -MD 選項依然不依賴 .h 問題解決 qq1113673178的博客:[學習][筆記] qt5 從入門到入墳:<11>繪制 大番薯:編程術語英漢對照 HashFlag的博客:Python基礎 風信子的貓Redamancy的快樂星球:PRML - Chapter 02 Probability g5703129的博客:java學習筆記總結,持續更新中 晴天的專欄:怎樣規劃你畢業以后的人生 程序員cxuan的個人主頁:這篇 Java 基礎,我吹不動了 小小張自由―>張有博:軟件工程――編碼、測試、維護 小小張自由―>張有博:淺談面向對象方法學 小小張自由―>張有博:UML――概述(事物、關系、圖) 小小張自由―>張有博:UML――用例圖 小小張自由―>張有博:UML――活動圖和狀態圖 小小張自由―>張有博:UML――交互圖(順序圖與協作圖) 小小張自由―>張有博:UML――實現圖(構件圖與部署圖) 小小張自由―>張有博:C#編程基礎――C#與.NET的關系 小小張自由―>張有博:C#編程基礎――數據類型 小小張自由―>張有博:C#編程基礎――常量與變量 小小張自由―>張有博:C#編程基礎――運算符與表達式 小小張自由―>張有博:C#編程基礎――循環語句 小小張自由―>張有博:C#編程基礎――跳轉語句 小小張自由―>張有博:C#編程基礎――類 小小張自由―>張有博:C#編程基礎――方法 小小張自由―>張有博:初始三層架構(超超超詳細) 小小張自由―>張有博:C#連接數據庫之Connection、Command、D 小小張自由―>張有博:System.ArgumentOutOfRangeException: 小小張自由―>張有博:機房重構之單例模式的應用 小小張自由―>張有博:機房重構之備忘錄模式的應用 小小張自由―>張有博:機房重構之職責鏈模式的應用 小小張自由―>張有博:HTML基礎――標簽 小小張自由―>張有博:div+css的入門知識 小小張自由―>張有博:CSS核心內容:標準流、盒子模型、浮動 小小張自由―>張有博:asp.net生成驗證碼并提交驗證 小小張自由―>張有博:XML基礎 小小張自由―>張有博:各種計算機語言簡短簡介 小小張自由―>張有博:2020年10月自考總結 小小張自由―>張有博:vs2019利用gitee(碼云)協作開發 小小張自由―>張有博:1024程序員節 小小張自由―>張有博:IDEA2020.3詳細安裝教程 小小張自由―>張有博:JavaWeb之Request與Response詳解 小小張自由―>張有博:JavaWeb之Filter和Listener 小小張自由―>張有博:Vue插件報錯:Vue.js is detected on t .net平臺的rabbitmq使用封裝demo詳解 C++類的特種函數生成機制詳解 Python調用百度AI實現圖片上表格識別功能 node自定義安裝更改npm全局模塊默認安裝路徑的步驟 帶你用C語言實現strtok和字符串分割函數 靜態網頁和靜態網頁性能比較 網頁標題優化原則和描述優化原則 php 怎么設置cookie記住密碼 php設置時區無效怎么辦 php __autoload 失效怎么辦 有關PHP調試的小技巧,看看吧! 從0開始:教你微信小店怎么開! 成本5元竟然賣50元 微信朋友圈賣面膜真黑啊 HashMap原理及put方法與get方法的調用過程 基于IDEA 的遠程調試 Weblogic的操作過程 UTC時間、GMT時間、本地時間、Unix時間戳的具體使用 如何利用SwiftUI實現可縮放的圖片預覽器 網站怎么利用內容更新雙重境界快速提高網站權重? php顯示繁體亂碼怎么辦 php不能開啟php_curl怎么辦
A级免费视频