【Day 16】Linux-性能查看

目錄

?一、Stress系統壓力測試工具

二、性能查看

(一)查看CPU

# nproc

# lscpu? ? ? ?

# top? ? ? ? ? ?

# uptime? ? ?

# mpstat 數字1 數字2? ? ?

(二)查看內存

#?dmidecode -t memory | less? ?

# free -h? ? ? ?

# vmstat? 數字1 數字2? ?

(三)查看進程

# ps? ? ?

# top? ? ? ? ?

(四)查看硬盤

# df -hT? ? ? ?

# df -i? ? ? ? ?

# iostat 數字1 數字2???? ?

(五)查看網卡

# ethtool ens33? ? ? ?

# ifstat

# sar -n DEV 數字1 數字2? ? ?

# iftop -i 接口

三、Linux系統運行模式

?#?dmidecode memory | less? ?

?????????編輯


?一、Stress系統壓力測試工具

  • # stress -c 數字? ? ? ??//執行sqrt()計算來模擬CPU密集型任務。測試CPU負載能力。
  • # stress?-i 數字? ? ? ? //sync()系統調用模擬IO同步操作。測試系統IO調度能力。
  • # stress?-m 數字? ? ? //頻繁的內存分配和釋放操作模擬內存壓力。測試內存。
  • # stress?-d?數字? ? ? ?//持續的文件寫入和刪除操作。測試磁盤IO性能。

二、性能查看

(一)查看CPU

  • # nproc
  • //查看CPU數量
  • # lscpu? ? ? ?
  • //查看cpu基本架構信息

????????

  • # top? ? ? ? ? ?
  • //查看系統整體資源使用情況,負載。

????????

q退出top指令
h列出可用的快捷鍵
Shift + M按內存使用率排序
Shift + P按 CPU 使用率排序(默認)
Shift + N按 PID 排序
Shift + T按運行時間排序
k終止指定進程(輸入 PID 后確認)
z切換彩色/黑白顯示模式。
top - 16:08:19當前系統時間load average: 0.01, 0.02, 0.05? 分別表示過去1分鐘、5分鐘、15分鐘的系統平均負載。數值越高表示系統越繁忙(通常以CPU核心數為參考,如4核CPU的負載超過4可能表示高負載)
up ?5:58? ? 系統已連續運行時間
2 users? ?當前登錄的用戶數Tasks:任務數量

%Cpu(s): ?0.0 us

用戶進程占用CPU百分比

KiB Mem : ?1863000 total

物理內存總量(單位KB)

0.2 sy

系統進程占用CPU百分比

1231848 free

空閑內存

0.0 ni

低優先級進程占用CPU百分比

255592 used

已使用內存

99.8 id

CPU空閑百分比

375560 buff/cache

緩存/緩沖區占用的內存。讀:緩存;寫:緩沖

0.0 wa

等待I/O操作的CPU時間百分比

KiB Swap: ?1048572 total

交換分區總量。

0.0 hi

硬件中斷占用CPU百分比

1048572 free

空閑交換分區。

0.0 si

軟件中斷占用CPU百分比

0 used

已使用交換分區

0.0 st

被虛擬機偷走的CPU時間百分比

1448536 avail Mem?

可用內存

PID

USER

PR

NI

VIRT

RES

SHR

S

%CPU

%MEM

TIME+

COMMAND

進程的唯一標識符(ID)?

進程所屬用戶

進程優先級

進程的Nice值

進程占用的虛擬內存總量

進程占用的物理內存

進程共享內存大小

進程狀態

進程占用CPU百分比

進程占用物理內存百分比

進程累計使用的CPU時間

進程對應的命令或程序名

  • # uptime? ? ?
  • //查看CPU負載

????????

  • # mpstat 數字1 數字2? ? ?
  • //查看CPU使用率。1時間間隔,2次數

????????

(二)查看內存

  • #?dmidecode -t memory | less? ?
  • //查看內存型號、主頻

????????

  • # free -h? ? ? ?
  • //查看內存

  • # vmstat? 數字1 數字2? ?
  • //查看內存使用率。1時間間隔,2次數

????????OOM(物理內存和交換空間均被耗盡)時,OOM Killer 終止進程以釋放內存。

(三)查看進程

  • # ps? ? ?
  • //簡單查看進程

????????

  • ?# ps aux? ? ? ? ? ?//查看所有進程的資源占用情況

????????

  • # ps -elf? ? ? ? ? ? ?//查看進程間父子關系或優先級

????????

  • # pstree? ? ? ? ? ??//以樹狀結構展示進程間的層級關系,直觀顯示父進程與子進程的派生關系。

????????

  • # pidof 命令? ?//查看命令執行進程的pid

????????

  • PID(進程 ID)? ? ?//?Process ID?的縮寫,表示進程的唯一標識符。
  • TTY(終端設備)? ?? //Teletype?的縮寫,表示進程關聯的終端設備。
pts/*偽終端tty*物理終端或虛擬控制臺無終端關聯,如守護進程
  • TIME(CPU 時間)? ? ?//表示進程占用的?CPU 時間,格式通常為分鐘:秒:百分秒
  • CMD(進程名稱)? ? ? //?Command?的縮寫,顯示進程的啟動命//令或可執行文件名稱
  • USER? ? //進程啟動的用戶
  • F? ? ? ?? ? //進程的狀態標志
  • STAT?? ?//進程的當前狀態。也叫 S 。
  • PPID (Parent Process ID)? ? ? ? ?//父進程的 PID。
  • %CPU、%MEM? ? ? ??//進程所消耗的CPU(也叫C)、內存
  • VSZ? ? ? ? ?//虛擬內存集,表示進程占用的虛擬內存總量,包括共享庫和未使用的內存頁

????????物理內存:物理內存是計算機實際安裝的硬件內存,用于存儲正在運行的程序和數據。它是虛擬內存系統的基礎,所有數據最終需要加載到物理內存中才能被CPU處理。

????????共享內存:共享內存允許多個進程訪問同一塊內存區域,用于進程間通信。

????????交換空間(Swap):交換空間是硬盤上預留的區域,用于存儲暫時不使用的內存頁面。當物理內存不足時,系統會將部分不活躍的內存數據臨時轉移到Swap空間,以釋放內存供其他進程使用。

  • RSS? ? ? ?//物理內存集,表示進程實際物理內存,不包括未被訪問或已換出到交換空間的內存

  • START? ?//進程啟動時間

  • COMMAND? ? ? ? //進程名稱? ?帶[] -->內核進程/系統進程 ;?沒帶[]-->用戶進程

  • PRI? ? ? ?//進程優先級(Priority),數值范圍通常為0-139(Linux系統),數值越低優先級越高。實時進程優先級范圍為0-99,普通進程為100-139。用戶可通過nicerenice命令調整普通進程的優先級。

  • NI? ? ? ??//Nice值(Nice Value),影響進程的動態優先級調整范圍。取值范圍為-20到19,默認值為0。負值提高優先級,正值降低優先級。普通用戶只能調高Nice值(降低優先級),需root權限才能調低Nice值。

  • ADDR? //內存地址(Address),在進程狀態中通常指進程的代碼或數據在內存中的位置。

  • SZ? ? ?? //內存大小(Size),表示進程占用物理內存的頁數(Page)

  • WCHAN? ? ?//等待通道(Wait Channel),顯示進程當前阻塞時所調用的內核函數名稱。

  • STIME? ? ?? //啟動時間(Start Time),格式通常為HH:MM:SS。對于運行超過24小時的進程,可能顯示為日期(如Dec01)。

進程狀態
R(Running)進程正在運行或就緒<高優先級進程。
S(Sleeping進程處于可中斷的睡眠狀態N低優先級進程
D(Uninterruptible Sleep)進程處于不可中斷的睡眠狀態(通常與硬件I/O相關)s進程是會話的首進程
Z(Zombie)進程已終止,但父進程尚未回收其資源。l進程是多線程的
T(Stopped)進程被信號(如SIGSTOP)暫停。+進程位于前臺進程組

????????前臺運行是指程序或進程直接在用戶可見的終端或界面中執行,占著命令提示符,并實時顯示輸出信息。

????????當父進程先于子進程終止時,子進程會變為孤兒進程(Orphan Process)。此時子進程會被系統的systemd 進程(PID=1)接管負責回收其資源,避免僵尸進程的產生。

? ? ? ? 注意:不同時間查看同一指令的進程,pid也是不同的。

  • # top? ? ? ? ?
  • //實時動態查看進程狀態

(四)查看硬盤

  • # df -hT? ? ? ?
  • //查看容量使用情況
  • # df -i? ? ? ? ?
  • ?//查看inode
  • # iostat 數字1 數字2???? ?
  • //查看硬盤的IO。1時間間隔,2次數

(五)查看網卡

  • # ethtool ens33? ? ? ?
  • //查看網卡帶寬

????????

  • # ifstat
  • //查看接收/發送數據包。接受/發送的錯誤/丟棄數據包數量

????????device通常指物理硬件設備(如網卡),而interface是操作系統對設備的邏輯抽象,用于配置網絡參數(如IP地址、子網掩碼等)。例如,一塊物理網卡(device)可能對應多個邏輯接口(interface)

通常一個interface僅關聯一個物理或虛擬device。但通過網卡聚合可以關聯多個device。

一個物理device可以關聯多個interface。

  • # sar -n DEV 數字1 數字2? ? ?
  • //網卡IO

  • # iftop -i 接口
  • //實時監控網絡流量

千兆網卡的理論最大傳輸速率為?1 Gbps,換算成字節單位約為?125 MB/s(兆字節每秒)

服務器連接硬盤的方法

直接連接(內置硬盤):將硬盤通過SATA或SAS接口直接連接到服務器主板。需確保服務器機箱有足夠的硬盤托架和電源供應。適用于需要高速本地存儲的場景,如數據庫或虛擬機。

通過RAID卡連接:使用RAID卡將多個硬盤組成RAID陣列,提升性能或冗余。RAID卡通過PCIe插槽與服務器主板連接,硬盤通過SATA/SAS線連接到RAID卡。適用于需要數據冗余或高性能存儲的場景。

外部存儲設備連接:通過USB、eSATA或Thunderbolt接口連接外部硬盤。適用于臨時備份或數據傳輸,但性能和穩定性可能不如內置方案。

網絡存儲連接(NAS/SAN):硬盤安裝在NAS或SAN設備中,服務器通過以太網(NAS)或光纖通道(SAN)訪問存儲。適用于多服務器共享存儲或需要高擴展性的場景。需配置網絡和存儲協議(如NFS、iSCSI)。

三、Linux系統運行模式

Linux系統的運行模式主要分為以下幾種,每種模式對應不同的系統狀態和功能:

1、傳統SysVinit系統使用運行級別來定義系統狀態:

  • 0:關機模式(halt)
  • 1:單用戶模式(救援模式,僅root權限)
  • 2:多用戶模式(無網絡服務)
  • 3:完整多用戶模式(命令行界面)
  • 4:保留未使用(用戶可自定義)
  • 5:圖形界面模式(X11)
  • 6:重啟模式

2、現代Linux系統(使用systemd)通過“目標”替代傳統運行級別:

  • poweroff.target:關機(對應運行級別0)
  • rescue.target:單用戶救援模式(對應運行級別1)
  • multi-user.target:多用戶命令行模式(對應運行級別3)
  • graphical.target:圖形界面模式(對應運行級別5)
  • reboot.target:重啟(對應運行級別6)
  • # who -r? ? ? ? ?//查看當前運行模式
  • # init 數字????????//切換運行模式命令(需root權限)
  • # runlevel? ? ? ? //顯示系統之前和當前所處的運行模式
  • # systemctl isolate graphical.target? ? ? //臨時切換運行模式
  • ls -l /etc/systemd/system/default.target? ? ? ? ?//查看當前系統的默認允許模式

????????systemctl isolate multi-user.target //字符模式

????????systemctl isolate graphical.target? ?//圖形模式

  • # systemctl set-deafault?graphical.target? ? ? //修改默認運行級別


  • ?#?dmidecode memory | less? ?
  • //查看系統配置

????????

????????

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/94446.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/94446.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/94446.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【ICCV2017】Deformable Convolutional Networks

一、摘要盡管卷積神經網絡&#xff08;CNN&#xff09;在視覺識別任務上取得巨大成功&#xff0c;但其固有的固定幾何結構&#xff08;固定卷積采樣網格、固定池化窗口、固定 RoI 劃分&#xff09;嚴重限制了對未知幾何變換&#xff08;尺度、姿態、形變、視角變化&#xff09;…

echarts在前后端分離項目中的實踐與應用

目錄 一、ECharts簡介 二、后端數據接口設計 三、數據結構設計 1. 柱狀圖數據結構 2. 餅圖數據結構 四、后端實現要點 五、前端ECharts配置解析 1. 柱狀圖配置 2. 餅圖配置 六、最佳實踐建議 七、總結 一、ECharts簡介 ECharts是百度開源的一個基于JavaScript的可視…

SQL 四大語言分類詳解:DDL、DML、DCL、DQL

SQL&#xff08;結構化查詢語言&#xff09;通常被分為四種主要類型&#xff0c;每種類型負責不同的數據庫操作。下面我將詳細介紹這四類SQL語言的語法和用途。一、DDL (Data Definition Language) 數據定義語言功能&#xff1a;定義和管理數據庫對象結構&#xff08;表、視圖、…

ESP-idf框架下的HTTP服務器\HTML 485溫濕度采集并長傳

項目描述:本項目采用485采集溫濕度以及電壓電流等,485模塊分別為下圖,串口轉485模塊采用自動收發模塊,ESP32工作在AP熱點模式,通過手機連接esp32的熱點來和esp進行數據通訊,使用esp32作為HTTP服務器缺陷:項目的最終HTML頁面代碼可發給AI讓其寫注釋#include "freertos/Free…

雅江工程解鎖墨脫秘境:基礎條件全展示(區位、地震、景點、天氣)

目錄 前言 一、區位信息 1、空間位置 2、區位介紹 二、地震信息 1、歷史地震信息 2、5.0級以上大地震 三、景點信息 1、景點列表分布 2、4A級以上景點 四、天氣信息 1、天氣實況 2、天氣應對挑戰 五、總結 前言 相信最近大家對雅江電站的超級大工程項目應該有所耳…

??機器學習貝葉斯算法

??一、引言??在當今機器學習領域&#xff0c;貝葉斯算法猶如一顆璀璨的明星。你是否想過&#xff0c;垃圾郵件過濾系統是如何準確判斷一封郵件是否為垃圾郵件的呢&#xff1f;這背后可能就有貝葉斯算法的功勞。今天&#xff0c;我們就一同走進貝葉斯算法的世界&#xff0c;…

Chisel芯片開發入門系列 -- 18. CPU芯片開發和解釋8(流水線架構的代碼級理解)

以【5 Stage pipeline CPU】搜索圖片&#xff0c;選取5幅有代表性的圖列舉如下&#xff0c;并結合Chisel代碼進行理解和點評。 圖1&#xff1a;原文鏈接如下 https://acsweb.ucsd.edu/~dol031/posts/update/2023/04/10/5stage-cpu-pipeline.html 點評&#xff1a;黑色的部分…

Docker容器中文PDF生成解決方案

在Docker容器中生成包含中文內容的PDF文件時&#xff0c;經常遇到中文字符顯示為方塊或亂碼的問題。本文將詳細介紹如何在Docker環境中配置中文字體支持&#xff0c;實現完美的中文PDF生成。 問題現象 當使用wkhtmltopdf、Puppeteer或其他PDF生成工具時&#xff1a; 中文字符…

2.java集合,線程面試題(已實踐,目前已找到工作)

1線程的創建方式 繼承Thread類實現Runnable接口實現Callable接口 2.這三種方式在項目中的使用有哪些&#xff0c;一般都是怎么用的 繼承thread類實現線程的方式通過實現run方法來實現線程&#xff0c;通過run進行線程的啟用實現runnable方法實現run方法&#xff0c;然后通過thr…

站在前端的角度,看鴻蒙頁面布局

從Web前端轉向鴻蒙&#xff08;HarmonyOS&#xff09;開發時&#xff0c;理解其頁面布局的相似與差異是快速上手的核心。鴻蒙的ArkUI框架在布局理念上與Web前端有諸多相通之處&#xff0c;但也存在關鍵區別。以下從五個維度系統分析&#xff1a; &#x1f4e6; 一、盒子模型&a…

JavaWeb遺傳算法、TSP、模擬退火、ACO算法等實戰應用

Java Web中實現遺傳算法的應用 以下是關于Java Web中實現遺傳算法的應用場景和實例的整理,涵蓋不同領域的解決方案和實現方法: 遺傳算法基礎結構 在Java Web中實現遺傳算法通常需要以下核心組件: 種群初始化:隨機生成初始解集。 適應度函數:評估個體優劣。 選擇操作:輪…

【圖像算法 - 09】基于深度學習的煙霧檢測:從算法原理到工程實現,完整實戰指南

一、項目背景與需求 視頻介紹 【圖像算法 - 09】基于深度學習的煙霧檢測&#xff1a;從算法原理到工程實現&#xff0c;完整實戰指南今天我們使用深度學習來訓練一個煙霧明火檢測系統。這次我們使用了大概一萬五千張圖片的數據集訓練了這次的基于深度學習的煙霧明火檢測模型&a…

間接制冷技術概念及特征

1、基本概念 (1)間接制冷技術即二次制冷技術。常規做法:二次冷卻液儲液罐增加放置于制冷系統管路,促使冷量再快捷的傳遞給載冷劑,繼而載冷劑冷量促使冷庫達到制冷效果。間接制冷技術:通過常壓的二次冷卻介質進行大循環傳送冷量,在直接制冷劑不易應用的位置或者不可運用直…

Antlr學習筆記 01、maven配置Antlr4插件案例Demo

文章目錄前言源碼插件描述pom引入插件案例&#xff1a;實現hello 標識符 案例1、引入Antlr4的pom運行依賴2、定義語義語法&#xff0c;配置.g4文件實現java代碼3、編寫完之后&#xff0c;執行命令實現編譯4、編寫單測測試使用參考文章資料獲取前言 博主介紹&#xff1a;?目前…

PostGIS面試題及詳細答案120道之 (101-110 )

《前后端面試題》專欄集合了前后端各個知識模塊的面試題&#xff0c;包括html&#xff0c;javascript&#xff0c;css&#xff0c;vue&#xff0c;react&#xff0c;java&#xff0c;Openlayers&#xff0c;leaflet&#xff0c;cesium&#xff0c;mapboxGL&#xff0c;threejs&…

第十七天:原碼、反碼、補碼與位運算

原碼、反碼、補碼與位運算 一、原碼、反碼、補碼 1、原碼 定義&#xff1a;原碼是一種簡單的機器數表示法。對于一個有符號整數&#xff0c;最高位為符號位&#xff0c; 0 表示正數&#xff0c; 1 表示負數&#xff0c;其余位表示數值的絕對值。示例&#xff1a;以 8 位二進制…

一次完整的 Docker 啟動失敗排錯之旅:從 `start-limit` 到 `network not found

一次完整的 Docker 啟動失敗排錯之旅&#xff1a;從 start-limit 到 network not found 你是否也曾自信地敲下 sudo systemctl start docker&#xff0c;卻只得到一個冰冷的 failed&#xff1f;這是一個開發者和運維工程師都可能遇到的場景。本文將通過一個真實的排錯案例&…

Tdengine 時序庫年月日小時分組匯總問題

年月分組select to_char(collection_time ,"yyyy-mm") AS date, cast(SUM(a.stage_value)as DOUBLE) as stage_value from TABLE GROUP BY date年月日分組select to_char(collection_time ,"yyyy-mm-dd") AS date, SUM(a.stage_value)as DOUBLE) as stage_…

數據結構(01)—— 數據結構的基本概念

408前置學習C語言基礎也可以看如下專欄&#xff1a;打怪升級之路——C語言之路_ankleless的博客-CSDN博客 目錄 1. 基本概念 1.1 數據 1.2 數據元素 1.3 數據項 1.4 組合項 1.5 數據對象 1.6 數據類型 2. 數據結構 2.1 邏輯結構 2.2 存儲結構 2.3 數據的運算 在學…

什么是模型并行?

模型并行c 簡單來說&#xff0c;就是把一個模型拆開來放到多個 GPU 上&#xff0c;一起訓練&#xff0c;從而化解“顯存塞不下模型”的問題!更多專業課程內容可以聽取工信部電子標準院《人工智能大模型應用工程師》課程獲得詳解&#xff01;