p.p1
p.p2
p.p3
p.p4
span.s1
span.s2
當php伺服器cpu使用過高如何查詢原因
場景描述:web伺服器cpu報警了,我使用top命令發現cpu占用比較高的是php的程序
單個php程序占用的多,而且使用命令 ps aux|grep -c php 發現php程序數也非常多
這時我們能確定的是,肯定有介面響應速度過慢,一直占用php程序,新的請求過來後php會新起程序導致的
如何查詢慢介面:
1.首先我們需要為nginx日誌配置請求響應時長的選項,預設情況下是沒有的
log_format weblog '$remote_addr ##$request_time## - $remote_user [$time_local] "$request" '
2.接下來我們要通過對日誌進行分析後得到執行比較慢的請求
#!/bin/sh
num=1000
top=50
tail -n $num $logpath|\
awk ''|\
awk -f'##' ''|\
awk -f'?' ''|\
tr 'a-z' 'a-z'|\
sort -nrk 1|head -n $top
這樣我們就可以通過endnum和top來調節檢視最近的num個請求中請求時長最大的top個請求
伺服器CPU過高,排查方法
top 定位異常的程序 top h p pid 檢視異常的執行緒 strace t r c p pid 檢視系統呼叫和花費的時間 printf x n 執行緒號 將異常執行緒轉化為16進製制 jstack 程序號 grep 執行緒號 16進製制異常執行緒號 a90 定位異常的 使用 top 命令定位...
Centos7伺服器記憶體使用過高排查
檢視記憶體使用情況 root vm 16 17 centos free h total used free shared buff cache ailable mem 3.7g 3.1g 152m 772k 413m 338m swap 0b 0b 0b free m top shift m按記憶體...
mysql占用伺服器cpu過高的原因以及解決辦法
登陸mysql mysql p u p mysql show processlist show processlist 命令詳解 processlist命令的輸出結果顯示了有哪些執行緒在執行,可以幫助識別出有問題的查詢語句。下面是mysql占用cpu高處理的乙個例子,希望對遇到類似問題的朋友們有點啟...