實用技巧之給你的Linux記憶體、磁碟、CPU、網路把把脈

2022-01-21 19:01:34
本篇文章給大家帶來了linux中學會檢視linux各種狀態,包括:網路IO、磁碟、CPU、記憶體等相關知識,希望對大家有幫助。

今日重點

① 學會檢視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、根據以上命令,提前設定監控預警。監控預警能夠讓你及時發現系統的效能資訊、比如磁碟快滿了,記憶體超負荷了,我們可以提前作出調整。

相關推薦:《Linux視訊教學

以上就是實用技巧之給你的Linux記憶體、磁碟、CPU、網路把把脈的詳細內容,更多請關注TW511.COM其它相關文章!