9,netstat
netstat 用于顯示與 IP、TCP、UDP和 ICMP 協(xié)議相關(guān)的統(tǒng)計(jì)數(shù)據(jù),一般用于檢驗(yàn)本機(jī)各端口的網(wǎng)絡(luò)連接情況。
常見(jiàn)用法:
netstat –npl # 可以查看你要打開(kāi)的端口是否已經(jīng)打開(kāi)。
netstat –rn # 打印路由表信息。
netstat –in # 提供系統(tǒng)上的接口信息,打印每個(gè)接口的MTU,輸入分組數(shù),輸入錯(cuò)誤,輸出分組數(shù),輸出錯(cuò)誤,沖突以及當(dāng)前的輸出隊(duì)列的長(zhǎng)度。
10, ps--顯示當(dāng)前進(jìn)程的狀態(tài)
ps 參數(shù)太多,具體使用方法可以參考 man ps
常用的方法:
ps aux #hsserver
ps –ef |grep #hundsun
殺掉某一程序的方法:
ps aux | grep mysqld | grep –v grep | awk ‘{print $2 }’ xargs kill -9
殺掉僵尸進(jìn)程:
ps –eal | awk ‘{if ($2 == “Z”){print $4}}’ | xargs kill -9
11,strace
跟蹤程序執(zhí)行過(guò)程中產(chǎn)生的系統(tǒng)調(diào)用及接收到的信號(hào),幫助分析程序或命令執(zhí)行中遇到的異常情況。
舉例:查看 mysqld 在 linux 上加載哪種配置文件,可以通過(guò)運(yùn)行下面的命令:
strace –e stat64 mysqld –print –defaults > /dev/null
11,uptime
能夠打印系統(tǒng)總共運(yùn)行了多長(zhǎng)時(shí)間和系統(tǒng)的平均負(fù)載,uptime 命令最后輸出的三個(gè)數(shù)字的含義分別是 1分鐘,5分鐘,15分鐘內(nèi)系統(tǒng)的平均負(fù)荷。
12,lsof
lsof(list open files)是一個(gè)列出當(dāng)前系統(tǒng)打開(kāi)文件的工具。通過(guò) lsof 工具能夠查看這個(gè)列表對(duì)系統(tǒng)檢測(cè)及排錯(cuò),常見(jiàn)的用法:
查看文件系統(tǒng)阻塞
lsof /boot
查看端口號(hào)被哪個(gè)進(jìn)程占用
lsof -i : 3306
查看用戶打開(kāi)哪些文件
lsof –u username
查看進(jìn)程打開(kāi)哪些文件
lsof –p 4838
查看遠(yuǎn)程已打開(kāi)的網(wǎng)絡(luò)鏈接
lsof –i @192.168.34.128
13,perf
perf 是 Linux kernel 自帶的系統(tǒng)性能優(yōu)化工具。優(yōu)勢(shì)在于與 Linux Kernel 的緊密結(jié)合,它可以最先應(yīng)用到加入 Kernel 的new feature,用于查看熱點(diǎn)函數(shù),查看 cashe miss 的比率,從而幫助開(kāi)發(fā)者來(lái)優(yōu)化程序性能。
性能調(diào)優(yōu)工具如 perf,Oprofile 等的基本原理都是對(duì)被監(jiān)測(cè)對(duì)象進(jìn)行采樣,最簡(jiǎn)單的情形是根據(jù) tick 中斷進(jìn)行采樣,即在 tick 中斷內(nèi)觸發(fā)采樣點(diǎn),在采樣點(diǎn)里判斷程序當(dāng)時(shí)的上下文。
假如一個(gè)程序 90% 的時(shí)間都花費(fèi)在函數(shù) foo() 上,那么 90% 的采樣點(diǎn)都應(yīng)該落在函數(shù) foo() 的上下文中。運(yùn)氣不可捉摸,但我想只要采樣頻率足夠高,采樣時(shí)間足夠長(zhǎng),那么以上推論就比較可靠。因此,通過(guò) tick 觸發(fā)采樣,我們便可以了解程序中哪些地方最耗時(shí)間,從而重點(diǎn)分析。
14, 匯總
結(jié)合以上常用的性能測(cè)試命令并聯(lián)系文初的性能分析工具的圖,就可以初步了解到性能分析過(guò)程中哪個(gè)方面的性能使用哪方面的工具(命令)。
常用的性能測(cè)試工具
熟練并精通了第二部分的性能分析命令工具,引入幾個(gè)性能測(cè)試的工具,介紹之前先簡(jiǎn)單了解幾個(gè)性能測(cè)試工具:
- perf_events:一款隨 Linux 內(nèi)核代碼一同發(fā)布和維護(hù)的性能診斷工具,由內(nèi)核社區(qū)維護(hù)和發(fā)展。Perf 不僅可以用于應(yīng)用程序的性能統(tǒng)計(jì)分析,也可以應(yīng)用于內(nèi)核代碼的性能統(tǒng)計(jì)和分析。
- eBPF tools:一款使用 bcc 進(jìn)行的性能追蹤的工具,eBPF map可以使用定制的 eBPF 程序被廣泛應(yīng)用于內(nèi)核調(diào)優(yōu)方面,也可以讀取用戶級(jí)的異步代碼。重要的是這個(gè)外部的數(shù)據(jù)可以在用戶空間管理。這個(gè) k-v 格式的 map 數(shù)據(jù)體是通過(guò)在用戶空間調(diào)用 bpf 系統(tǒng)調(diào)用創(chuàng)建、添加、刪除等操作管理的。
- perf-tools:一款基于 perf_events (perf) 和 ftrace 的Linux性能分析調(diào)優(yōu)工具集。Perf-Tools 依賴庫(kù)少,使用簡(jiǎn)單。支持Linux 3.2 及以上內(nèi)核版本。
- bcc(BPF Compiler Collection)::一款使用 eBP F的 perf 性能分析工具。一個(gè)用于創(chuàng)建高效的內(nèi)核跟蹤和操作程序的工具包,包括幾個(gè)有用的工具和示例。利用擴(kuò)展的BPF(伯克利數(shù)據(jù)包過(guò)濾器),正式稱為eBPF,一個(gè)新的功能,首先被添加到Linux 3.15。多用途需要Linux 4.1以上BCC。
- ktap:一種新型的linux腳本動(dòng)態(tài)性能跟蹤工具。允許用戶跟蹤Linux內(nèi)核動(dòng)態(tài)。ktap是設(shè)計(jì)給具有互操作性,允許用戶調(diào)整操作的見(jiàn)解,排除故障和延長(zhǎng)內(nèi)核和應(yīng)用程序。它類似于Linux和Solaris DTrace SystemTap。
- Flame Graphs:是一款使用 perf,system tap,ktap 可視化的圖形軟件,允許最頻繁的代碼路徑快速準(zhǔn)確地識(shí)別,可以是使用
github.com/brendangregg/flamegraph
中的開(kāi)發(fā)源代碼的程序生成。
1,Linux observability tools | Linux 性能觀測(cè)工具
- 首先學(xué)習(xí)的Basic Tool有如下:uptime、top(htop)、mpstat、isstat、vmstat、free、ping、nicstat、dstat。
- 高級(jí)的命令如下:sar、netstat、pidstat、strace、tcpdump、blktrace、iotop、slabtop、sysctl、/proc。
2, Linux benchmarking tools | Linux 性能測(cè)評(píng)工具
是一款性能測(cè)評(píng)工具,對(duì)于不同模塊的性能測(cè)試可以使用相應(yīng)的工具,想要深入了解,可以參考最下文的附件文檔。
3,Linux tuning tools | Linux 性能調(diào)優(yōu)工具
是一款性能調(diào)優(yōu)工具,主要是從linux內(nèi)核源碼層進(jìn)行的調(diào)優(yōu),想要深入了解,可以參考下文附件文檔。
4, Linux observability sar | linux性能觀測(cè)工具
sar(System Activity Reporter系統(tǒng)活動(dòng)情況報(bào)告)是目前LINUX上最為全面的系統(tǒng)性能分析工具之一,可以從多方面對(duì)系統(tǒng)的活動(dòng)進(jìn)行報(bào)告,包括:文件的讀寫(xiě)情況、系統(tǒng)調(diào)用的使用情況、磁盤I/O、CPU效率、內(nèi)存使用狀況、進(jìn)程活動(dòng)及IPC 有關(guān)的活動(dòng)等方面。sar 的常規(guī)使用方式:
sar [options] [-A] [-o file] t [n]
其中:t 為采樣間隔,n 為采樣次數(shù),默認(rèn)值是1;-o file 表示將命令結(jié)果以二進(jìn)制格式存放在文件中,file 是文件名,options 為命令行選項(xiàng)。
-
Linux
+關(guān)注
關(guān)注
87文章
11292瀏覽量
209328 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7488瀏覽量
87849 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6801瀏覽量
123283
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論