Percona Toolkit 神器全攻略(系統類) Percona Toolkit 神器全攻略系列共八篇,前文回顧: 前文回顧 Percona Toolkit 神器全攻略 Percona Toolkit 神器全攻略(實用類) Percona Toolkit 神器全攻略(配置類) Percona T ...
Percona Toolkit 神器全攻略(系統類)
Percona Toolkit 神器全攻略系列共八篇,前文回顧:
前文回顧 |
---|
Percona Toolkit 神器全攻略 |
Percona Toolkit 神器全攻略(實用類) |
Percona Toolkit 神器全攻略(配置類) |
Percona Toolkit 神器全攻略(監控類) |
全文約定:
$
為命令提示符、greatsql>
為 GreatSQL 資料庫提示符。在後續閱讀中,依據此約定進行理解與操作
系統類
在Percona Toolkit中系統類共有以下工具
pt-diskstats
:查看系統磁碟狀態pt-fifo-split
:模擬切割文件並輸出pt-ioprofile
:查詢進程 I/O 並列印一個 I/O 活動表pt-stalk
:出現問題時,收集診斷數據pt-sift
:瀏覽由 pt-stalk 創建的文件pt-summary
:收集和顯示系統概況
pt-diskstats
概要
類似於iostat
命令,不過它比iostat
輸出的更加詳細一點
用法
- pt-diskstats [OPTIONS] [FILES]
列印 GNU/Linux 的磁碟 I/O 統計信息。它有點類似於iostat,但它是互動式的並且更詳細。且可以分析從另一臺機器收集的樣本。
選項
該工具所有選項如下
參數 | 含義 |
---|---|
--columns-regex | 列印與此 Perl 正則表達式匹配的列 |
--config | 讀取這個逗號分隔的配置文件列表,如果指定,這必須是命令行上的第一個選項 |
--devices-regex | 列印與此 Perl 正則表達式匹配的設備 |
--group-by | 分組依據模式:disk ,sample ,all |
--headers | 如果存在 group ,則每個樣本將由空行分隔,除非樣本只有一行 |
--help | 顯示幫助 |
--interval | 在交互模式下,等待 N 秒後再列印到屏幕。 |
--iterations | 當處於交互模式時,在 N 個樣本後停止。預設情況下永遠運行 |
--sample-time | 在 group-by sample 模式下,每組包含 N 秒的樣本 |
--save-samples | 用於保存 diskstats 樣本的文件 |
--show-inactive | 顯示不活動的設備 |
--show-timestamps | 在#ts 列中顯示“HH:MM:SS”時間戳 |
--version | 顯示版本 |
--[no]version-check | 版本檢查 |
最佳實踐
註意!在較新的 Linux 內核版本中,為磁碟統計信息返回的欄位量更改為 20 個,並導致 pt-diskstat 在這些系統上無法提供任何輸出。
直接採集分析
--devices-regex
指定設備名稱,根據自身設備而修改
$ pt-diskstats --interval=1 --iterations=10 --devices-regex=sda --show-timestamps
#ts device rd_s rd_avkb rd_mb_s rd_mrg rd_cnc rd_rt wr_s wr_avkb wr_mb_s wr_mrg wr_cnc wr_rt busy in_prg io_s qtime stime
14:08:26 sda 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0.0 0% 0.0 0.0 0% 0 0.0 0.0 0.0
14:08:26 sda1 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0.0 0% 0.0 0.0 0% 0 0.0 0.0 0.0
14:08:26 sda2 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0.0 0% 0.0 0.0 0% 0 0.0 0.0 0.0
14:08:26 sda3 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0.0 0% 0.0 0.0 0% 0 0.0 0.0 0.0
ts
:在--show-timestamps
操作時候的時間戳。但如果在group-by為all模式下此列顯示時間戳偏移量,如果在sample模式下表示分組到每個樣本的總時間跨度device
:設備名稱rd_s
:每秒的平均讀取次數rd_avkb
:讀取的平均大小單位kbrd_mb_s
:每秒讀取的平均兆位元組數rd_mrg
:在發送到物理設備之前在隊列調度程式中合併在一起的讀取請求的百分比rd_cnc
:根據利特爾定律計算得出的讀取操作的平均併發度rd_rt
:讀取操作的平均響應時間,以毫秒為單位wr_s
:每秒平均寫入次數wr_avkb
:平均寫入大小wr_mb_s
:每秒平均寫入的平均大小wr_mrg
:發送到物理設備之前,在隊列調度程式中合併在一起的寫入請求的百分比wr_cnc
:寫入操作的平均併發量wr_rt
:寫入操作的平均相應時間busy
:磁碟繁忙程度in_prg
:正在進行的請求數io_s
:物理設備的平均吞吐量,以每秒 I/O 操作數 (IOPS) 為單位qtime
:平均排隊時間stime
:平均服務時間
採集分析
先收集 /proc/diskstats 的信息,存到一個文件裡面,採集一段時候後再通過 pt-diskstats 來計算。這樣的好處是,可以瞭解該段時間內的整體 I/O 性能,而不是瞬間的性能指標
使用該 Shell 腳本
採集時間可以修改LOOPS參數,採集間隔修改INTERVAL即可
$ vim collection.sh
#!/bin/bash
INTERVAL=1
LOOPS=10
INT=1
echo `date`
while (( $INT <= $LOOPS )) do Sleep=$(date +%s.%N | awk "{print $INTERVAL - (\$1 % $INTERVAL)}")
sleep $Sleep
date +"TS %s.%N %F %T" >> diskstats-samples.txt
cat /proc/diskstats >> diskstats-samples.txt
let INT=INT+1
done
echo `date`
授權並運行該 Shell 腳本
$ chmod 755 collection.sh
$ sh collection.sh
在腳本文件的同一個目錄下會生成diskstats-samples.txt
文本文件,接著使用 pt-diskstats 工具分析即可
$ pt-diskstats --group-by disk diskstats-samples.txt
#ts device rd_s rd_avkb rd_mb_s rd_mrg rd_cnc rd_rt wr_s wr_avkb wr_mb_s wr_mrg wr_cnc wr_rt busy in_prg io_s qtime stime
{19} sda 0.0 0.0 0.0 0% 0.0 0.0 0.4 6.8 0.0 8% 0.0 0.3 0% 0 0.4 0.2 0.2
{19} sda3 0.0 0.0 0.0 0% 0.0 0.0 0.3 7.9 0.0 10% 0.0 0.3 0% 0 0.3 0.2 0.1
{19} dm-0 0.0 0.0 0.0 0% 0.0 0.0 0.4 7.2 0.0 0% 0.0 0.5 0% 0 0.4 0.2 0.2
不同點是ts列顯示包含在輸出行中的樣本數,其它欄位意思和上方一致
查看該段時間內 sda 的 iops 變化情況
$ pt-diskstats --group-by sample --devices-regex sda --columns-regex io_s diskstats-samples.txt
#ts device io_s
0.0 {4} 156.6
......中間省略部分
55.2 {4} 0.0
56.2 {4} 0.0
查看 sda-sdb 兩塊盤在採集的時間段內的整體 I/O 平均負載情況
$ pt-diskstats --group-by disk --devices-regex 'sd[a-c]' diskstats-samples.txt
小技巧
在使用 pt-diskstats 工具線上分析的時候按“?”鍵,將調出互動式幫助菜單,其中顯示哪些鍵控製程序
$ pt-diskstats --devices-regex=sda --show-timestamps
15:08:06 sda 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0.0 0% 0.0 0.0 0% 0 0.0 0.0 0.0
15:08:06 sda1 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0.0 0% 0.0 0.0 0% 0 0.0 0.0 0.0
15:08:06 sda2 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0.0 0% 0.0 0.0 0% 0 0.0 0.0 0.0
15:08:06 sda3 0.0 0.0 0.0 0% 0.0 0.0 0.0 0.0 0.0 0% 0.0 0.0 0% 0 0.0 0.0 0.0
# 此時輸入'?'會彈出提示
You can control this program by key presses:
------------------- Key ------------------- ---- Current Setting ----
A, D, S) Set the group-by mode A
c) Enter a Perl regex to match column names .
/) Enter a Perl regex to match disk names sda
z) Set the sample size in seconds 1
i) Hide inactive disks yes
p) Pause the program
q) Quit the program
space) Print headers
------------------- Press any key to continue -----------------------
pt-fifo-split
概要
可以用做切割大文件,切割完成後再分批導入 GreatSQL 資料庫中,不會造成效率低以及主從延遲
用法
- pt-fifo-split [OPTIONS] [FILE]
選項
該工具所有選項如下
參數 | 含義 |
---|---|
--config | 讀取這個逗號分隔的配置文件列表,如果指定,這必須是命令行上的第一個選項 |
--fifo | 可以從中讀取行的 fifo 的名稱 |
--force | 如果 fifo 已存在,請將其刪除,然後重新創建 |
--help | 顯示幫助 |
--lines | 每個塊中要讀取的行數 |
--offset | 從第 N 行開始。如果參數為 0,則所有行都列印到 fifo。如果為 1,則從第一行開始列印行(與 0 完全相同)。如果為 2,則跳過第一行,並將第二行及後續行列印到 fifo |
--pid | 創建給定的 PID 文件 |
--statistics | 列印塊之間的統計信息 |
--version | 顯示版本 |
最佳實踐
用命令seq 1 1000000 > hugefile.txt
向hugefile.txt文件插入一百萬行數據
$ wc -l hugefile.txt
1000000 hugefile.txt
接著需要寫一個腳本文件獲取切割後的數據
$ vim fifo_get.sh
#!/bin/bash
filename=/tmp/hugefile
n=1
while [ -e /tmp/pt-fifo-split ];
do
cat /tmp/pt-fifo-split > "$filename"_"$n".txt ;
let n++
done
使用 pt-fifo-split 工具切割
$ pt-fifo-split --lines 10000 --statistics hugefile.txt
chunks lines time overall current
1 10000 48 208.33 208.33
2 20000 48 416.67 10000.00
3 30000 48 625.00 10000.00
4 40000 48 833.33 10000.00
5 50000 48 1041.67 10000.00
......下方省略
使用腳本工具獲取數據
$ chmod 755 fifo_get.sh
$ sh fifo_get.sh
$ ls /tmp/hugefile_* 2>/dev/null | wc -l
100
接下來就可以把這些切割後的文件導入到 GreatSQL 資料庫中了,此時可以用 GreatSQL 的並行LOAD DATA特性,最大導入的加速比大概為20倍
使用 LOAD 語句增加 HINT 啟用
greatsql> LOAD /*+ SET_VAR(gdb_parallel_load=ON) SET_VAR(gdb_parallel_load_chunk_size=65536) SET_VAR(gdb_parallel_load_workers=16) */
DATA INFILE 'hugefile.txt' INTO TABLE t1;
GreatSQL的並行LOAD DATA詳見:https://greatsql.cn/docs/8032-25/user-manual/5-enhance/5-1-highperf-parallel-load.html
當然也可以使用
split
命令來做切割split -l 1000 hugefile.txt chunk_
pt-ioprofile
概要
主要用於監視和分析 GreatSQL/MySQL 進程的 I/O 活動。通過 strace
和 lsof
來跟蹤進程的 I/O 情況,並列印出相關的表文件和活動 I/O 信息。
用法
- pt-ioprofile [OPTIONS] [FILE]
建議使用root許可權,可以收集到更多的信息
選項
該工具所有選項如下
參數 | 含義 |
---|---|
--aggregate | 聚合函數,sum 或 avg |
--cell | 指定單元格的內容,有效值為count、sizes、times |
--group-by | 分組項,有效值為all、filename、pid |
--help | 顯示幫助 |
--profile-pid | 要分析的 PID 會覆蓋 --profile-process |
--profile-process | 要分析的進程名稱 |
--run-time | 分析的時間長度 |
--save-samples | 保存樣本的文件名 |
--version | 顯示版本 |
最佳實踐
直接使用即可,預設--cell
為times既I/O操作的時間,預設監聽30秒的mysqld進程,並給出30秒內的分析結果
註意!是要等待30秒後給出分析結果,並不是實時出結果
$ pt-ioprofile
Wed Apr 3 02:16:37 PM CST 2024
Tracing process ID 657147
total write lseek ftruncate filename
0.000468 0.000232 0.000142 0.000094 /data/GreatSQL/innodb_status.657147
0.000184 0.000000 0.000184 0.000000 /tmp/#13526
0.000180 0.000000 0.000180 0.000000 /tmp/#13525
可指定--cell
為sizes既I/O操作的大小
$ pt-ioprofile --cell=sizes
Wed Apr 3 02:11:09 PM CST 2024
Tracing process ID 657147
total write lseek ftruncate filename
53620 26810 26810 0 /data/GreatSQL/innodb_status.657147
5074 0 5074 0 /tmp/#13525
2024 0 2024 0 /tmp/#13526
可指定--cell
為count既I/O操作的次數
$ pt-ioprofile --cell=count
Wed Apr 3 02:15:18 PM CST 2024
Tracing process ID 657147
total write lseek ftruncate filename
7 4 2 1 /data/GreatSQL/innodb_status.657147
1 0 1 0 /tmp/#13526
1 0 1 0 /tmp/#13525
pt-stalk
概要
pt-stalk工具的功能是出現問題時收集GreatSQL資料庫和系統的診斷信息,可以解決更細粒度的現場故障採集
用法
- pt-stalk [OPTIONS]
建議使用root許可權,可以收集到更多的信息
選項
該工具所有選項如下
參數 | 含義 |
---|---|
--ask-pass | 連接 GreatSQL/MySQL 時提示輸入密碼 |
--collect | 當故障發生時收集診斷數據,可使用 --no-collect 使工具只監視系統不收集數據 |
--collect-gdb | 收集 GDB 堆棧跟蹤 |
--collect-oprofile | 收集 oprofile 數據 |
--collect-strace | 收集跟蹤數據 |
--collect-tcpdump | 收集 tcpdump 數據 |
--config | 讀取以逗號分隔的配置文件列表,如果指定,這必須是命令行上的第一個選項 |
--cycles | 在觸發--collect 之前,--variable 必須大於--threshold 多少次 |
--daemonize | 守護進程,後臺運行 |
--defaults-file | 只從給定文件中讀取 GreatSQL 選項 |
--dest | 保存--collect 的診斷數據的位置,不要選擇和GreatSQL同一個目錄,最好是獨立的目錄,因為該工具會刪除目錄下超過一定日期的文件,可能會造成誤刪。預設目錄/var/lib/pt-stalk |
--disk-bytes-free | 如果磁碟的可用空間少於次值的設定就不使用--collect 。防止磁碟被該工具的診斷數據填滿 |
--disk-pct-free | 如果磁碟的可用空間少於次值的百分比就不使用--collect 。這可以防止該工具用診斷數據填充磁碟,和--disk-bytes-free 差不多,一個是具體值一個是百分比 |
--function | 設置觸發條件,預設值監視SHOW GLOBAL STATUS ,也可以通過此參數修改為SHOW PROCESSLIST |
--help | 顯示幫助 |
--host | 連接到主機 |
--interval | 檢查觸發器是否為 true 的頻率 |
--iterations | 收集多少次,預設是一直運行 |
--log | 守護進程時將所有輸出列印到此文件 |
--match | 監測SHOW PROCESSLIST 時使用的模式 |
--notify-by-email | 發送收集信息到指定的郵箱中 |
--password | 用於連接的密碼 |
--pid | 創建給定的 PID 文件 |
--plugin | 載入插件以連接到該工具並擴展其功能 |
--mysql-only | 僅觸發 GreatSQL 相關的捕獲,忽略所有其他 |
--port | 用於連接的埠號 |
--prefix | 診斷樣本的文件名首碼,預設情況下,同一--collect 實例創建的所有文件都具有基於當前本地時間的時間戳首碼,例如 2011_12_06_14_02_02 ,即 2011 年 12 月 6 日 14:02:02 |
--retention-count | 保留最後 N 次運行的數據。如果 N > 0,程式將保留最後 N 次運行的數據,並刪除較舊的數據 |
--retention-size | 保留最多–retention-size MB 的數據 |
--retention-time | 保留收集樣本的天數 |
--run-time | 觸發多長時間的 --collect 診斷數據,預設30秒 |
--sleep | --collect 之後要停止多久,可以防止該工具連續觸發 |
--sleep-collect | 收集迴圈周期之間休眠多長時間 |
--socket | 用於連接的套接字文件 |
--stalk | 觀察伺服器並等待觸發發生 |
--system-only | 僅觸發與操作系統相關的捕獲,忽略所有其他捕獲 |
--threshold | --variable 的最大可接受值 |
--user | 登錄的用戶 |
--variable | 要與 --threshold 進行比較的變數 |
--verbose | 運行時列印或多或少的信息 |
--version | 顯示版本 |
最佳實踐
監控SHOW GLOBAL STATUS
中的狀態值
例如監控Threads_running
狀態值,如果Threads_running
狀態值連續5次超過100,這觸發收集主機和資料庫的信息
$ pt-stalk --function status --variable Threads_running --cycles 5 --threshold 500 --daemonize --user=root --password=
有以下三種觸發方式
-
status
通過監控SHOW GLOBAL STATUS
的參數值,--variable
參數指定的監控的具體是哪個參數,預設Threads_running
-
processlist
通過監控
SHOW FULL PROCESSLIST
命令的結果,--variable
參數指定列的值和--match
指定值相匹配的次數,如:State列,匹配值:statistics -
自定義腳本
立即收集主機和資料庫信息
不等待觸發發生,立即收集在60秒內主機和資料庫的信息,等待180秒後結束自動退出
$ pt-stalk --no-stalk --run-time=60 --iterations=1 --user=root --password=
查看預設診斷數據存放的位置/var/lib/pt-stalk
$ ls /var/lib/pt-stalk
2024_04_07_14_47_10-df 2024_04_07_14_47_10-lsof 2024_04_07_14_47_10-numastat 2024_04_07_14_47_10-ps-locks-transactions
2024_04_07_14_47_10-disk-space 2024_04_07_14_47_10-meminfo 2024_04_07_14_47_10-opentables1 2024_04_07_14_47_10-slabinfo
2024_04_07_14_47_10-diskstats 2024_04_07_14_47_10-mpstat 2024_04_07_14_47_10-opentables2 2024_04_07_14_47_10-slave-status
2024_04_07_14_47_10-hostname 2024_04_07_14_47_10-mpstat-overall 2024_04_07_14_47_10-output 2024_04_07_14_47_10-sysctl
2024_04_07_14_47_10-innodbstatus1 2024_04_07_14_47_10-mutex-status1 2024_04_07_14_47_10-pmap 2024_04_07_14_47_10-top
2024_04_07_14_47_10-innodbstatus2 2024_04_07_14_47_10-mutex-status2 2024_04_07_14_47_10-processlist 2024_04_07_14_47_10-trigger
2024_04_07_14_47_10-interrupts 2024_04_07_14_47_10-mysqladmin 2024_04_07_14_47_10-procstat 2024_04_07_14_47_10-variables
2024_04_07_14_47_10-iostat 2024_04_07_14_47_10-netstat 2024_04_07_14_47_10-procvmstat 2024_04_07_14_47_10-vmstat
2024_04_07_14_47_10-iostat-overall 2024_04_07_14_47_10-netstat_s 2024_04_07_14_47_10-ps 2024_04_07_14_47_10-vmstat-overall
有很多採集的文件,從文件名可以看出來,命名方式就是以命令來命名的。同時也可以用pt-sift
工具來查看產生的文件內容
pt-sift
概要
用於分析、查看pt-stalk
命令產生的文件內容,並生產概要信息,然後通過輸入不同的命令查看不同的內容。如,輸入m
,查看的是SHOW STATUS
命令的內容。
用法
- pt-sift FILE|PREFIX|DIRECTORY
這是一個互動式的命令
選項
該工具所有選項如下
參數 | 含義 |
---|---|
--help | 顯示幫助 |
--version | 顯示版本 |
最佳實踐
顯示所有pt-stalk收集的信息
可以直接使用pt-sift
命令,並加上pt-stalk
工具收集的信息存放地址
$ pt-sift /var/lib/pt-stalk
此時會跳出一個互動式的命令行,可以通過輸入?來查看幫助信息,通過輸入不同的命令顯示不同的內容
- d:設置在樣本磁碟性能統計信息上啟動 pt-diskstats 工具的操作
- i:設置在 less 中查看第一個 INNODB STATUS 樣本的操作
- m:使用 pt-mext 工具併排顯示 SHOW STATUS 計數器的前 4 個樣本
- n:以兩種方式彙總 netstat 數據的第一個樣本:按原始主機和按連接狀態
- j:選擇下一個時間戳作為活動樣本
- k:選擇前一個時間戳作為活動樣本
- q:退出程式
- 1:將每個示例的操作設置為預設值,即查看示例的摘要
- 0:將操作設置為僅列出示例中的文件
- *:查看所有文件
--- COMMANDS ---
1 Default action: summarize files
0 Minimal action: list files
* View all the files in less
d Invoke 'diskstats' on the disk performance data
i View the first INNODB STATUS sample in 'less'
m Invoke 'pt-mext' to show the SHOW STATUS counters side by side
n Summarize the 'netstat -antp' status data
--- NAVIGATION ---
j Select the next timestamp
k Select the previous timestamp
q Quit the program
Press any key to continue
pt-summary
概要
列印信息涵蓋CPU、記憶體、硬碟、網卡等核心信息,同時展現文件系統、磁碟調度、隊列大小、LVM、RAID等詳細配置,以及網路鏈接統計、netstat分析,並突出前10負載與vmstat數據
用法
- pt-summary
選項
參數 | 含義 |
---|---|
--config | 讀取這個逗號分隔的配置文件列表,如果指定,這必須是命令行上的第一個選項 |
--help | 顯示幫助 |
--read-samples | 從此目錄中的文件創建報告 |
--save-samples | 將收集到的數據保存在此目錄中 |
--sleep | 從 vmstat 收集樣本時休眠多長時間 |
--summarize-mounts | 報告已安裝的文件系統和磁碟使用情況 |
--summarize-network | 有關網路控制器和配置的報告 |
--summarize-processes | 報告頂級進程和 vmstat 輸出 |
--version | 列印工具的版本並退出 |
最佳實踐
直接使用即可
$ pt-summary
該段展示當前日期和時間,以及伺服器和操作系統的概覽
# Percona Toolkit System Summary Report ######################
Date | 2024-04-15 07:49:13 UTC (local TZ: CST +0800)
Hostname | myarch
Uptime | 74 days, 5:25, 4 users, load average: 0.03, 0.01, 0.00
Platform | Linux
Release | "Arch Linux" (n/a)
Kernel | 6.6.3-arch1-1
Architecture | CPU = 64-bit, OS = 64-bit
Threading | NPTL 2.39
Compiler | GNU CC version 13.2.1 20230801.
SELinux | No SELinux detected
Virtualized | No virtualization detected
該段提取自/proc/cpuinfo
# Processor ##################################################
Processors | physical = 1, cores = 6, virtual = 12, hyperthreading = yes
Speeds | 1x4071.589, 1x4177.016, 1x4179.769, 1x4197.696, 1x4197.784, 1x4198.704, 6x800.000
Models | 12xIntel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Caches | 12x9216 KB
該段是記憶體信息。生成自free
、ps
、sysctl
以及dmidecode
# Memory #####################################################
Total | 15.4G
Free | 1.1G
Used | physical = 3.7G, swap allocated = 0.0, swap used = 0.0, virtual = 3.7G
Shared | 3.9M
Buffers | 10.9G
Caches | 11.7G
Dirty | 20 kB
UsedRSS | 3.3G
Swappiness | 60
DirtyPolicy | 20, 10
DirtyStatus | 0, 0
Numa Nodes | 1
Numa Policy | default
Preferred Node | current
Node Size Free CPUs
==== ==== ==== ====
node0 15787 MB 1165 MB 0 1 2 3 4 5 6 7 8 9 10 11
該段是掛載文件系統。生成自mount
和df
# Mounted Filesystems ########################################
Filesystem Size Used Type Opts
Mountpoint
/dev/nvme0n1p1 799M 1% vfat rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro /efi
/dev/nvme0n1p2 233G 34% ext4 rw,relatime
/
/dev/sda1 916G 4% ext4 rw,relatime
/home
efivarfs 384K 19% efivarfs rw,nosuid,nodev,noexec,relatime
/sys/firmware/efi/efivars
run 7.8G 1% tmpfs rw,nosuid,nodev,relatime,mode=755,inode64
/run
tmpfs 1.6G 1% tmpfs rw,nosuid,nodev,inode64
/run/user/0
tmpfs 1.6G 1% tmpfs rw,nosuid,nodev,relatime,size=1616676k,nr_inodes=404169,mode=700,inode64
/run/user/0
tmpfs 1.6G 1% tmpfs rw,nosuid,nodev,nr_inodes=1048576,inode64
/run/user/0
tmpfs 7.8G 0% tmpfs rw,nosuid,nodev,inode64
/dev/shm
tmpfs 7.8G 0% tmpfs rw,nosuid,nodev,relatime,size=1616676k,nr_inodes=404169,mode=700,inode64
/dev/shm
tmpfs 7.8G 0% tmpfs rw,nosuid,nodev,nr_inodes=1048576,inode64
/dev/shm
tmpfs 7.8G 1% tmpfs rw,nosuid,nodev,inode64
/tmp
tmpfs 7.8G 1% tmpfs rw,nosuid,nodev,relatime,size=1616676k,nr_inodes=404169,mode=700,inode64
/tmp
tmpfs 7.8G 1% tmpfs rw,nosuid,nodev,nr_inodes=1048576,inode64
/tmp
該段是磁碟調度信息。提取自/sys
# Disk Schedulers And Queue Size #############################
nvme0n1 | [none] 1023
sda | [mq-deadline] 64
該段是磁碟分區信息。生成自fdisk -l
# Disk Partitioning ##########################################
Device Type Start End Size
============ ==== ========== ========== ==================
/dev/nvme0n1 Disk 256060514304
/dev/nvme0n1p1 Part 2048 1640447 0
/dev/nvme0n1p2 Part 1640448 500117503 0
/dev/sda Disk 1000204886016
/dev/sda1 Part 2048 1953523711 0
該段是Kernel Inode State
# Kernel Inode State #########################################
dentry-state | 733944 717873 45 0 291017 0
file-nr | 1120 0 9223372036854775807
inode-nr | 631593 103806
該段是內核索引節點信息。分別提取自/proc/sys/fs
目錄下同名文件
# LVM Volumes ################################################
Unable to collect information
# LVM Volume Groups ##########################################
Unable to collect information
該段是RAID控制器。生成自lvs
# RAID Controller ############################################
Controller | No RAID controller detected
該段是網路配置,生成自lspci
和sysctl
# Network Config #############################################
Controller | Intel Corporation Ethernet Connection (7) I219-LM (rev 10)
FIN Timeout | 60
Port Range | 60999
該段是網路介面統計,生成自ip -s link
# Network Connections ########################################
Connections from remote IP addresses
192.168.6.76 1
213.133.111.6 1
Connections to local IP addresses
192.168.6.55 2
Connections to top 10 local ports
22 1
35554 1
States of connections
ESTABLISHED 2
LISTEN 5
該段是TOP
命令前幾行
# Top Processes ##############################################
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1526529 root 20 0 15316 5632 3584 R 16.7 0.0 0:00.03 top
1 root 20 0 22644 13452 10112 S 0.0 0.1 12:08.33 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:05.75 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.00 pool_wo+
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker+
5 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker+
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker+
7 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker+
9 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker+
該段是要註意的地方,這裡提示sshd
沒運行
# Notable Processes ##########################################
PID OOM COMMAND
? ? sshd doesn't appear to be running
該段是記憶體管理,這裡提示開啟了透明大頁
# Memory management ##########################################
Transparent huge pages are enabled.
該段表示結束
# The End ####################################################
本文完