系統(tǒng)經(jīng)研發(fā)測(cè)試上線(xiàn)后,如果運(yùn)行期間出現(xiàn)了BUG,需要對(duì)服務(wù)故障進(jìn)行定位,一般會(huì)查看服務(wù)器負(fù)載、服務(wù)狀態(tài)、進(jìn)程管理、服務(wù)日志等。
本文以CentOS 7.0 操作系統(tǒng)上的命令操作作為示例進(jìn)行記錄。
常用工具包安裝
# 常用包安裝:top
[root@webf ~]# yum install -y procps
# 常用包安裝:netstat
[root@webf ~]# yum install -y net-tools
# 常用包安裝:lsof:查看系統(tǒng)中已經(jīng)打開(kāi)的文件、網(wǎng)絡(luò)連接和進(jìn)程
[root@webf ~]# yum install -y lsof
# 常用包安裝:vmstat、ifstat:查看系統(tǒng)中已經(jīng)打開(kāi)的文件、網(wǎng)絡(luò)連接和進(jìn)程
[root@webf ~]# yum install -y dstat
# 常用包安裝:iostat:IO性能分析
[root@webf ~]# yum install -y sysstat
#服務(wù)器負(fù)載文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-795798.html
# 實(shí)時(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用情況
[root@iZbp1eeysy7bvfz9km5t5wZ boot]# top
top - 09:15:29 up 5 days, 20:59, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 126 total, 1 running, 125 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 16269004 total, 870004 used, 15399000 free, 159804 buffers
KiB Swap: 0 total, 0 used, 0 free. 399772 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
4562 root 20 0 123644 1584 1116 R 0.3 0.0 0:00.02 top
1 root 20 0 49676 3768 2284 S 0.0 0.0 0:03.76 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.03 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.21 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
6 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kworker/u16:0
7 root rt 0 0 0 0 S 0.0 0.0 0:00.04 migration/0
8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh
9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0
10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/1
11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/2
12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/3
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/4
14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/5
15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/6
16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/7
17 root 20 0 0 0 0 S 0.0 0.0 2:36.71 rcu_sched
18 root 20 0 0 0 0 S 0.0 0.0 0:21.22 rcuos/0
19 root 20 0 0 0 0 S 0.0 0.0 0:24.70 rcuos/1
20 root 20 0 0 0 0 S 0.0 0.0 0:24.60 rcuos/2
21 root 20 0 0 0 0 S 0.0 0.0 0:21.66 rcuos/3
22 root 20 0 0 0 0 S 0.0 0.0 0:22.32 rcuos/4
23 root 20 0 0 0 0 S 0.0 0.0 0:19.20 rcuos/5
24 root 20 0 0 0 0 S 0.0 0.0 0:22.12 rcuos/6
25 root 20 0 0 0 0 S 0.0 0.0 0:22.54 rcuos/7
26 root rt 0 0 0 0 S 0.0 0.0 0:02.03 watchdog/0
27 root rt 0 0 0 0 S 0.0 0.0 0:01.76 watchdog/1
28 root rt 0 0 0 0 S 0.0 0.0 0:00.04 migration/1
29 root 20 0 0 0 0 S 0.0 0.0 0:00.17 ksoftirqd/1
# 頂部信息解讀
09:15:29 是當(dāng)前的本地時(shí)間和日期。
up 5 days, 20:59 表示系統(tǒng)已經(jīng)運(yùn)行了5天20小時(shí)59分鐘。
1 user 表示當(dāng)前有1個(gè)用戶(hù)登錄。
load average: 0.00, 0.01, 0.05 是系統(tǒng)的負(fù)載情況,包括過(guò)去的1分鐘、5分鐘、15分鐘的平均負(fù)載。這些數(shù)字越接近0,表示系統(tǒng)的負(fù)載越低。
Tasks: 126 total, 1 running, 125 sleeping, 0 stopped, 0 zombie 這行顯示了當(dāng)前系統(tǒng)的總?cè)蝿?wù)數(shù),正在運(yùn)行的進(jìn)程數(shù),正在睡眠的進(jìn)程數(shù),已經(jīng)停止的進(jìn)程數(shù),以及已經(jīng)死掉的進(jìn)程數(shù)。
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st 這行顯示了CPU的利用率。其中us表示用戶(hù)進(jìn)程使用CPU的時(shí)間,sy表示系統(tǒng)進(jìn)程使用CPU的時(shí)間,ni表示nice值為-20的進(jìn)程使用CPU的時(shí)間,id表示空閑時(shí)間,wa表示等待I/O操作的時(shí)間,hi表示硬件中斷處理的時(shí)間,si表示軟件中斷處理的時(shí)間,st表示 steal time(被偷走的時(shí)間)。
KiB Mem: 16269004 total, 870004 used, 15399000 free, 159804 buffers 這行顯示了內(nèi)存的使用情況。其中total表示總內(nèi)存,used表示已經(jīng)使用的內(nèi)存,free表示空閑內(nèi)存,buffers表示用于存儲(chǔ)文件系統(tǒng)緩存的內(nèi)存。
KiB Swap: 0 total, 0 used, 0 free. 399772 cached Mem 這行顯示了交換空間(Swap space)的使用情況。在Linux系統(tǒng)中,當(dāng)物理內(nèi)存不足時(shí),一些暫時(shí)不用的進(jìn)程會(huì)被移到交換空間中,以釋放物理內(nèi)存。這里total表示總的交換空間大小,used表示已經(jīng)使用的交換空間大小,free表示空閑的交換空間大小,而cached Mem表示已經(jīng)被緩存的內(nèi)存大小。
# 各列信息解讀
PID:進(jìn)程ID。
USER:進(jìn)程所有者。
PR:進(jìn)程優(yōu)先級(jí)。
NI:nice值。
VIRT:進(jìn)程使用的虛擬內(nèi)存量。
RES:進(jìn)程使用的物理內(nèi)存量。
SHR:共享內(nèi)存量。
S:進(jìn)程狀態(tài)(D=不可中斷的睡眠狀態(tài),R=運(yùn)行狀態(tài),S=睡眠狀態(tài),T=跟蹤狀態(tài),Z=僵尸狀態(tài))。
%CPU:占用的CPU使用率。
%MEM:占用的內(nèi)存使用率。
TIME+:進(jìn)程啟動(dòng)后的累計(jì)CPU時(shí)間。
COMMAND:進(jìn)程名或命令名。
# IO負(fù)載:TPS和吞吐量信息(磁盤(pán)讀寫(xiě)速度單位為KB),每1s收集1次數(shù)據(jù),共收集10次后退出
[root@webf ~]# iostat -d -k 1 10
Linux 3.10.0-123.el7.x86_64 (webf.com) 11/15/2023 _x86_64_ (1 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 2.31 51.06 109.52 213994 458982
sdb 0.11 0.68 1.06 2833 4452
dm-0 0.07 0.46 1.06 1937 4452
dm-1 0.01 0.03 0.00 112 0
# 網(wǎng)絡(luò)負(fù)載:網(wǎng)絡(luò)發(fā)送和接收信息(數(shù)據(jù)接收和發(fā)送速度單位為每秒比特?cái)?shù))
[root@webf ~]# ifstat
#kernel
Interface RX Pkts/Rate TX Pkts/Rate RX Data/Rate TX Data/Rate
RX Errs/Drop TX Errs/Drop RX Over/Rate TX Coll/Rate
lo 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
ens33 97 0 76 0 9004 0 12816 0
0 0 0 0 0 0 0 0
docker0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
完整參見(jiàn):http://www.laobingbiji.com/note/detail.html?note_id=202311151543370000000010318657文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-795798.html
到了這里,關(guān)于Linux 常用操作命令(CentOS 7.0)- 故障定位:服務(wù)器負(fù)載、進(jìn)程管理、日志分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!