首頁 > 軟體

命令--常用命令(整理)(系統分析)

2021-01-16 11:00:18
(pmap -x 1437:檢視mysql程序1437的資訊,獲取使用者程序的邏輯地址空間中對映的記憶體資訊)
(cat /proc/vmallocinfo | grep -v "ioremap" | awk '{print $2}' | paste -s -d "+" | bc:統計VmallocUsed中除ioremap外的實體記憶體使用量)
(echo "(" $(cat  /proc/vmallocinfo | grep -v "ioremap" | awk '{print $2}' | paste -s -d "+") ")  /  1024" | bc:除以1024的結果)
(cat /proc/slabinfo:檢視slab的資訊)
(cat /proc/vmallocinfo:VmallocUsed包含的記憶體區域)
(ps -f --ppid 2 -p 2:查詢 kthreadd 的子程序,2 號程序為 kthreadd 程序,在核心態執行,用來管理核心執行緒)
(ps -ef | grep "[.*]":查詢名稱包含中括號的程序)
(ps -ef | grep test | grep -v grep | awk '{print $2}' | xargs kill -9 :批次殺掉程序)
(ps -ef | grep test | grep -v grep | awk '{print "kill -9 "$2}':批次殺掉程序)
(ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}' | xargs kill -9:批次殺掉殭屍程序)
(ps -A -o stat,ppid,pid,cmd | grep -e '^[Zz]':查詢殭屍程序) 
(ps -ef | grep defunct:檢視殭屍程序)
(ps -ef|grep mysql:查詢PID號)
(ps aux | grep softirq:檢視執行緒的執行狀況)
(ps -C nginx --no-header |wc -l:統計nginx有幾個執行緒,--no-header代表不顯示第一行標題)
(ps  -aux  -lax)
(ps -ef | grep 'svn')
(ps  :靜態顯示程序)
(ps -eLf  | grep mysql |wc -l :監控mysql使用了多少程序)
(ps -U root -u root -N:檢視非系統程序)
(ps -ef |grep crond|grep -v grep |awk '{print $2}':取出crond的程序號:9737)
(ps -ejH:列出程序樹)
(ps -axjf:列出程序樹)
(ps -eLf:獲得執行緒資訊)
(ps axms:獲得執行緒資訊)
(ps -eo euser,ruser,suser,fuser,f,comm,label:獲得安全資訊)
(ps axZ:獲得安全資訊)
(ps -eM:獲得安全資訊)
(ps -efT | grep 514:根據執行緒號514,查出它屬於哪個程序)
(pstree -p:列出每個程式pid)
(pstree -u:列出每個賬號名稱)
(mpstat -P ALL  和  sar -P ALL)
(mpstat -P ALL 1:多核cpu檢視)
(mpstat  1 10 :檢視cpu資源)
(mpstat  -P  0 1 :檢視0號cpu使用情況,)
(mpstat  -P  1 1 :檢視1號cpu使用情況,)
(mpstat  -P ALL 5 1:顯示所有 CPU 的指標,並在間隔 5 秒輸出一組資料,-P ALL 表示監控所有 CPU)
(pidstat -p 97203:檢視cpu使用情況)
(pidstat -u 5 1:間隔 5 秒後輸出一組資料,-u 表示 CPU 指標)
(pidstat -w 5:每隔 5 秒輸出 1 組資料,檢視每個程序的使用情況)
(pidstat -w -u 1: -w 參數列示輸出程序切換指標,而 -u 引數則表示輸出 CPU 使用指標)
(pidstat -wt 1:-wt 參數列示輸出執行緒的上下文切換指標)
(pidstat -d -p 4344 1 3: -d 展示 I/O 統計資料,-p 指定程序號,間隔 1 秒輸出 3 組資料)
(pidstat -d -p 4327 1 3:根據top查出來導致io升高並且顯示是D狀態的程序號是4327,所以這裡用4327這個程序號分析)
(pidstat -d 1 20:檢視所有程序的I/O使用情況)
(pidstat -d 1 :使用 pidstat 加上 -d 引數,就可以顯示每個程序的 I/O 情況)
(pidstat -wut -p 1997 1:指定程序號為1997,顯示上下文切換及cpu使用率情況)
(pidstat  -t :開啟執行緒選項)
(pidstat中cswch:表示每秒自願上下文切換(voluntary context switches)的次數)
(pidstat中nvcswch:表示每秒非自願上下文切換(non voluntary  context switches)的次數。)
(pidstat -wut -p XX 1:檢測是哪個執行緒佔用了cpu)
(perf  top -p 5801:指定程序號)
(perf  top:實時顯示佔用 CPU 時鐘最多的函數或者指令)
(perf  record -g:記錄佔用 CPU 時鐘最多的函數或者指令,當前目錄生成perf.data檔案)
(perf  report :呼叫perf.data檔案,輸出顯示資訊)
(perf  report -g -p 1997:指定程序號為1997的應用程式,輸出perf.data檔案資訊)
(watch -d cat /proc/softirqs:watch定期執行某個命令來分析)
(watch -d cat /proc/softirqs: -d 引數,可以高亮顯示出軟中斷變化部分)
(watch -d cat /proc/interrupts:系統中斷檢視,-d 參數列示高亮顯示變化的區域)
(watch -d cat /proc/interrupts: TIMER(定時中斷)、NET_RX(網路接收)、SCHED(核心排程)、RCU(RCU 鎖)不停變化。)
(watch -d uptime:檢視系統平均負載變化)
(watch -d cat /proc/stat:檢視cpu狀態資訊)
(sar -n DEV 1:-n DEV 表示顯示網路收發的報告,間隔 1 秒輸出一組資料)
(sar -q 1 5:檢視總cpu負載 )
(sar  -P  ALL  1:檢視每個cpu負載)
(sar -b 1 10:檢視當前磁碟IO 讀寫)
(uptime:檢視cpu負載,及系統執行總時長)
(vmstat -w -a:檢視分別有多少記憶體被認為是活動和非活動狀態)
(vmstat -w 1 10:系統負載狀態)
(vmstat -w  -n 1 5:檢視io、及cpu使用)
(vmstat -w 1)
(dstat 1 10: 間隔 1 秒輸出 10 組資料,檢視 CPU 和 I/O 的使用情況)
(dstat –output /tmp/sampleoutput.csv -cdn:輸出到sampleoutput.csv 檔案裡面)
(dstat -g -l -m -s --top-mem :顯示記憶體誰在佔用)
(dstat -c -y -l --proc-count --top-cpu:CPU資源損耗的資料)
(dstat --list:列出可用引數)
(dstat  -pidsta:檢視系統資訊)
(dstat  -vmsta:檢視系統資訊)
(dstat  -iosta:檢視系統資訊)
(dstat  -mpsta:檢視系統資訊)
(dstat --aio --io --disk --tcp --top-io-adv --top-bio-adv  --top-bio-adv:檢視系統效能,可以看出是哪個程序佔用高)
(dstat -tcndylp  --top-cpu:相當於--time --cpu --net --disk --sys --load --proc --top-cpu)
(dstat --aio --io --disk --tcp --top-io-adv --top-bio-adv  --top-mem)
(dstat --io --aio --disk --top-io-adv  --top-bio-adv --top-mem 1 5)
(dstat -cmdlnsyp:基本檢視)
(dstat -f 1  5:檢視每個磁碟分割區情況)
(dstat -o 1 5:檢視cpu磁碟網路情況)
(dstat -v 1 5:檢視記憶體cpu磁碟情況)
(dstat -acdfgilmnoprstvy :所有可以執行的引數)
(dstat -tcyif:檢視所有資訊)
(atop -dl:檢視效能)
(iostat 1 10:系統io狀態,tps:硬碟每秒傳輸速度)
(iostat -b:顯示每秒MB讀寫)
(iostat -d -x 1 :-x 表示顯示所有磁碟 I/O 的指標,-d不顯示裝置利用率)
(iostat   -x -p ALL:顯示每個裝置的io情況,並顯示裝置利用率,加上-d,不顯示裝置利用率)
(sysstat:工具安裝:yum install sysstat)
(pmap -d 14596:程序佔用的記憶體情況,數位是PID號)
(top -H -p 1997:指定程序號為1997,檢視執行緒資訊)
(top -c:動態顯示程序,顯示完整執行路徑,不只是顯示命令)
(dmesg | grep -i "Out of memory":查詢 OOM 紀錄檔,dmesg 中看到 Out of memory 的資訊,從而知道是哪些程序被OOM 殺死了。)
(注:dmesg結果輸出:lowmem_reserve,代表申請記憶體。)
(cat /proc/stat | grep ^cpu:只保留各個CPU的資料)
(grep 'CONFIG_HZ=' /boot/config-$(uname -r):檢視核心的節拍率 HZ )
(grep Pss /proc/[1-9]*/smaps | awk '{total+=$2}; END {printf "%d kBn", total }':統計所有程序的實體記憶體使用量)
(grep 'CONFIG_HZ=' /boot/config-$(uname -r):檢視系統節拍率,也就是每秒鐘觸發多少次時間中斷)
(grep  -R  "字串"   /目錄:遍歷目錄裡面的檔案,查詢裡面的字串。)
(grep -c是行數,–n行號 ,–i忽略大小寫)
(smem|awk '{total+=$6};END{printf "%d kb/n",total}';echo:統計所有程序的實體記憶體使用量,$6是計算pss,$7是計算rss)
(getconf PAGESIZE:檢視共用記憶體頁大小)
(strace -c find /tools/monitor -name sleep_count.py:在執行一個命令時,每個系統呼叫在核心中所用的時間)
(strace -p PID   -f:加上f引數,多程序和多執行緒都可以跟蹤)
(strace -p 3387 -f 2>&1 | grep write :追蹤子執行緒)
(strace -cfp $(pidof mysqld):計算系統呼叫的時間)
(lsof -i -U:分析核心記憶體和各種檔案)
(lsof -nP | grep '(deleted)':查詢被刪除檔案的資訊)
(lsof -c mysqld:顯示程序資訊)
((lsof -c mysqld  | grep  deleted:顯示程序資訊))
(lsof -p 9737:檢視9737這個程序號,開啟的所有檔案)
(lsof  -i:1194)
(lsof -i :22:檢視22埠上的所有程序)
(lsof  | grep delete:檢視已刪除空間卻沒有釋放的程序 )
(lsof -w | grep deleted:檢視所有被刪掉並快取的程序,-w 是指忽略這些錯誤)
(top -c:顯示系統執行的程序資訊,輸入大寫P,程序便按照使用率排序)
(top -Hp 5986:顯示該程序的執行緒執行資訊列表,繼續輸入大寫P使其按照CPU使用率排序)
(top -b -n1 | head:top命令,只顯示1次)
 


IT145.com E-mail:sddin#qq.com