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

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

    作者:[db:作者] 時間:2021-09-13 18:57

    🍅 作者主頁:不吃西紅柿

    🍅 簡介: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、根據以上命令,提前設置監控預警。監控預警能夠讓你及時發現系統的性能信息、比如磁盤快滿了,內存超負荷了,我們可以提前作出調整。


    cs
lj663的博客 原創內容,個人筆記,僅供參考。篠AP中導出物料 lj663的博客 原創內容,個人筆記,僅供參考。宏P于作者博文的 lj663的博客 原創內容,個人筆記,僅供參考。荷昝鳎罕救瞬┛ lj663的博客 原創內容,個人筆記,僅供參考。宏P于VIP文章的 程序員springmeng:??爆肝熬夜開發了一個SpringBoot活動管理系統 相太陽的博客:CSS font-size字體大小樣式屬性 Jqcode:配置文件中propertyConfigurer類的使用 Jqcode:Eclipse插件使用Mybatis-generator代碼生成器 Jqcode:命令行使用Mybatis-generator代碼生成器 Jqcode:SpringMVC工作原理 Jqcode:MD5Utils Jqcode:mysql中自連接查詢與case-when-then用法 Jqcode:json相關轉換 Jqcode:使用Pipeline管道技術快速寫入百萬級別緩存數據 Jqcode:mysql查詢中常用的函數整理 Jqcode:Eclipse中Debug調試時各個快捷鍵的作用 Jqcode:Controller返回json格式數據報反序列化異常的解決辦法 Jqcode:java配置相關參數啟動項目 Jqcode:初步了解mysql存儲過程 Jqcode:layDate,一款來自layui的強大日期插件 Jqcode:layer,一款來自layui的強大彈出層插件 Jqcode:java實現線程間的通信 Jqcode:java導出EXCEL表格―實戰篇 Jqcode:Redis常問面試題整理 Jqcode:List數據去重方法 Jqcode:初識mysql觸發器 Jqcode:數據庫設計規范之三大范式 Jqcode:關于mysql用戶安全管理的一些命令 Jqcode:關于哈希表必須了解的一些知識 Jqcode:本地環境nexus搭建私服jar包站點 Jqcode:使用Dom4j中的Document與Element解析XML文檔 Jqcode:postman調用https接口方式 Jqcode:簡單記錄Spring中輕量級任務調度@Scheduled注解的使用 Jqcode:項目啟動后控制臺自定義輸出圖案或內容 Jqcode:RabbitMQ消息隊列中間件――安裝與配置 Jqcode:RabbitMQ消息隊列中間件――“Hello World”入門 Jqcode:nginx反向代理實踐:將某個指定的域名代理到指定的服務 Jqcode:Spring Cloud微服務架構――Eureka注冊中心 Jqcode:Spring Cloud微服務架構――Eureka服務注冊 Jqcode:Spring Cloud微服務架構――Eureka服務發現與消費 Jqcode:Spring Cloud微服務架構――Ribbon客戶端負載均衡 Jqcode:Spring Cloud微服務架構――Feign客戶端負載均衡 Jqcode:es+kibana在windows平臺下的搭建記錄 Jqcode:kibana安裝中文插件 Jqcode:mongodb常用語法 Jqcode:關于原碼、反碼、補碼的學習 Jqcode:@Autowired、@Resource還分不清嗎? 英雄哪里出來:??13萬字《C語言動漫對話教程(入門篇)》??(建議收 lyndon:CSDN 去除圖片水印 lyndon:Android 手機修改 WiFi MAC 地址 php怎么將漢字轉成拼音 php 50.00怎么轉換成50 一文帶你分析php7的zval 聊聊關于PHP定時器的那些事 微信推廣 如何做好微商 必看微信朋友圈購物八大準則 如何避免朋友圈購物存在問題 JavaScript循環遍歷的24個方法 關于@PostConstruct、afterPropertiesSet和init-method的執行順序 Redis數據過期策略的實現詳解 Java設計模式之java觀察者模式詳解 java工程師進階之MyBatis延遲加載的使用 提高網站收錄率請從建站開始! php pthreads的使用方法 php分頁有幾種實現方法 Yaf遇上PHP7.1會有什么火花? 這個php-cs-fixer編碼格式化工具,你還不會用嗎? 微信朋友圈曬成交、曬對話有圖不等于有真相 交易量是這么來的 揭秘微商驚天陷阱 微信朋友圈里的面膜都賣給了誰? .net平臺的rabbitmq使用封裝demo詳解 C++類的特種函數生成機制詳解
A级免费视频