tomcat占用cpu比较多
在Linux中當(dāng)Tomcat啟動(dòng)后,我們只是去查看應(yīng)用是否能夠正常訪(fǎng)問(wèn)來(lái)判斷Tomcat啟動(dòng)是否正常。一般情況下這樣看是沒(méi)有問(wèn)題的,但是有時(shí)候我們會(huì)發(fā)現(xiàn)當(dāng)Tomcat使用了一段時(shí)間后,開(kāi)始出現(xiàn)CPU或者內(nèi)存飆升。此時(shí),查看Tomcat日志也許無(wú)法看到有效信息,因此有必要了解一下Linux和jdk給我們提供的相關(guān)工具。
1、查看內(nèi)存和CPU使用較高的進(jìn)程信息
輸入top,我們可以看到下面的信息
?
?
2、如果我們想查看PID為3583的進(jìn)程信息,則可以執(zhí)行
top -H -p 3582
說(shuō)明:3582為進(jìn)程ID,一個(gè)進(jìn)程可以有多個(gè)線(xiàn)程。這個(gè)基礎(chǔ)知識(shí)科普給剛?cè)腴T(mén)的小伙伴。
此時(shí),我們可以看到進(jìn)程3582下面的相關(guān)線(xiàn)程信息。占用資源較多的線(xiàn)程會(huì)排在前幾個(gè)。OK,截圖如下。
?
?
3、既然都找到線(xiàn)程消耗信息了,但是我們還沒(méi)找到原因。別著急,下面我們來(lái)查看一下某個(gè)線(xiàn)程的堆棧信息,
如PID為3590的線(xiàn)程。至于說(shuō)為什么要看堆棧信息,這個(gè)就不用我多說(shuō)了。如果不清楚的,估計(jì)也接觸不到這個(gè)東東了。OK,回歸正題。要查看某個(gè)java線(xiàn)程的堆棧信息,我們當(dāng)然得使用jdk自帶的jstack工具。
使用方法:
jstack [進(jìn)程] | grep -A 10 [線(xiàn)程的16進(jìn)制]
-A 10表示查找到所在行的后10行。3590用計(jì)算器轉(zhuǎn)換為16進(jìn)制e06,注意字母是小寫(xiě)。
OK,下面我們執(zhí)行下面的命令。
jstack 3582|grep -A 10?e06
執(zhí)行完畢,我們會(huì)看到如圖所示的堆棧信息,此時(shí)我們就能結(jié)合相關(guān)線(xiàn)程提示的信息來(lái)做自己的判斷了。
?
---------------------
作者:洛楓偃月
來(lái)源:CSDN
原文:https://blog.csdn.net/zgs_shmily/article/details/51019933
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!
轉(zhuǎn)載于:https://www.cnblogs.com/python-cat/p/9841758.html
總結(jié)
以上是生活随笔為你收集整理的tomcat占用cpu比较多的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 新版mysql授权命令,缺一不可
- 下一篇: 在jsp中应如何避免,request.g