欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來到夢(mèng)飛科技

系統(tǒng)配置

當(dāng)前優(yōu)惠活動(dòng):

Linux利用Strace調(diào)試歷程的能力

早些年,假如你知道有個(gè) strace 呼吁,就很牛了,而此刻各人根基都知道 strace 了,假如你碰著機(jī)能問題求助別人,十有八九會(huì)發(fā)起你用 strace 掛上去看看,不外當(dāng)你掛上去了,看著滿屏翻騰的字符,卻十有八九看不出個(gè)所以然。本文通過一個(gè)簡(jiǎn)樸的案例,向你展示一下在用 strace 診斷問題時(shí)的一些套路。

如下真實(shí)案例,如有類似,實(shí)屬一定!讓我們看一臺(tái)高負(fù)載處事器的 top 功效:

Linux操作Strace調(diào)試過程的本領(lǐng)

能力:運(yùn)行 top 時(shí),按「1」打開 CPU 列表,按「shift+p」以 CPU 排序。

在本例中各人很容易發(fā)明 CPU 主要是被若干個(gè) PHP 歷程占用了,同時(shí) PHP 歷程占用的較量多的內(nèi)存,不外系統(tǒng)內(nèi)存另有結(jié)余,SWAP 也不嚴(yán)重,這并不是問題主因。

不外在 CPU 列表中能看到 CPU 主要耗損在內(nèi)核態(tài)「sy」,而不是用戶態(tài)「us」,和我們的履歷不符。Linux 操縱系統(tǒng)有許多用來跟蹤措施行為的東西,內(nèi)核態(tài)的函數(shù)挪用跟蹤用「strace」,用戶態(tài)的函數(shù)挪用跟蹤用「ltrace」,所以這里我們應(yīng)該用「strace」:

不外假如直接用 strace 跟蹤某個(gè)歷程的話,那么期待你的往往是滿屏翻騰的字符,想從這里看出問題的癥結(jié)并不是一件容易的工作,虧得 strace 可以按操縱匯總時(shí)間:

通過「c」選項(xiàng)用來匯總各個(gè)操縱的總耗時(shí),運(yùn)行后的功效或許如下圖所示:

Linux操作Strace調(diào)試過程的本領(lǐng)

很明明,我們能看到 CPU 主要被 clone 操縱耗損了,還可以單獨(dú)跟蹤一下 clone:


shell> strace -T -e clone -p <PID>

shell> strace -T -e clone -p <PID>

通過「T」選項(xiàng)可以獲取操縱實(shí)際耗損的時(shí)間,通過「e」選項(xiàng)可以跟蹤某個(gè)操縱:

Linux操作Strace調(diào)試過程的本領(lǐng)

很明明,一個(gè) clone 操縱需要幾百毫秒,至于 clone 的寄義,參考 man 文檔:

Linux操作Strace調(diào)試過程的本領(lǐng)

簡(jiǎn)樸來說,就是建設(shè)一個(gè)新歷程。那么在 PHP 里什么時(shí)候會(huì)呈現(xiàn)此類系統(tǒng)挪用呢?查詢業(yè)務(wù)代碼看到了 exec 函數(shù),通過如下呼吁驗(yàn)證它確實(shí)會(huì)導(dǎo)致 clone 系統(tǒng)挪用:

shell> strace -eclone php -r ‘exec(“l(fā)s”);’

最后再考各人一個(gè)題:假如我們用 strace 跟蹤一個(gè)歷程,輸出功效很少,是不是說明歷程很空閑?其實(shí)試試 ltrace,,大概會(huì)發(fā)明別有洞天。記著有內(nèi)核態(tài)和用戶態(tài)之分。

夢(mèng)飛科技 - 全球數(shù)據(jù)中心基礎(chǔ)服務(wù)領(lǐng)先供應(yīng)商

Copyright © 2003-2019 MFISP.COM. 國(guó)外服務(wù)器租用 IDC公司 版權(quán)所有 ? 粵ICP備11019662號(hào)

主站蜘蛛池模板: 卢龙县| 鄂伦春自治旗| 罗山县| 甘泉县| 台湾省| 板桥市| 金华市| 平昌县| 建平县| 开封县| 临夏市| 沧州市| 沾化县| 龙山县| 广宁县| 西乌珠穆沁旗| 阿克| 英吉沙县| 普陀区| 东城区| 勐海县| 犍为县| 敦化市| 普洱| 辽中县| 沾益县| 松潘县| 商水县| 太白县| 和龙市| 清镇市| 平邑县| 广德县| 浦城县| 松溪县| 武宣县| 平山县| 石台县| 乌拉特后旗| 蕲春县| 文水县|