strace手把手教學(xué)備忘
要點(diǎn):
技巧:運(yùn)行 top 時(shí),按「1」打開 CPU 列表,按「shift+p」以 CPU 排序。
在本例中大家很容易發(fā)現(xiàn) CPU 主要是被若干個(gè) PHP 進(jìn)程占用了,同時(shí) PHP 進(jìn)程占用的比較多的內(nèi)存,不過系統(tǒng)內(nèi)存尚有結(jié)余,SWAP 也不嚴(yán)重,這并不是問題主因。
不過在 CPU 列表中能看到 CPU 主要消耗在內(nèi)核態(tài)「sy」,而不是用戶態(tài)「us」,和我們的經(jīng)驗(yàn)不符。Linux 操作系統(tǒng)有很多用來跟蹤程序行為的工具,內(nèi)核態(tài)的函數(shù)調(diào)用跟蹤用「strace」,用戶態(tài)的函數(shù)調(diào)用跟蹤用「ltrace」,所以這里我們應(yīng)該用「strace」
shell> strace -p <PID>
strace 可以按操作匯總時(shí)間:
shell> strace -cp <PID>

網(wǎng)頁截圖
shell> strace -T -e clone -p <PID>