新聞中心
隨著人們對linux的接受,越來越多的用戶在使用Linux的過程中,遇到了內(nèi)核一些問題,比如有時候進程會變?yōu)樽枞?,然后進程性能就會受到一定影響,下面就來介紹Linux下處理阻塞進程的方法。

創(chuàng)新互聯(lián)是專業(yè)的雅安網(wǎng)站建設(shè)公司,雅安接單;提供成都做網(wǎng)站、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行雅安網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
首先要確定進程是不是已經(jīng)死在一個阻塞狀態(tài)。我們可以使用ps或者top命令查看一下,看看狀態(tài)是不是D(表示阻塞狀態(tài))的。
[root@zhangyz /]# ps -ef |grep Tomcat
root 3600 1667 0 14:31 ? 00:00:00 /OPT/jdk1.7.0_55/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=/opt/apache-tomcat-8.0.20/conf/logging.properties -Djava.endorsed.dirs=/opt/apache-tomcat-8.0.20/endorsed -classpath /opt/apache-tomcat-8.0.20/bin/bootstrap.jar:/opt/apache-tomcat-8.0.20/bin/tomcat-juli.jar -Dcatalina.base=/opt/apache-tomcat-8.0.20 -Dcatalina.home=/opt/apache-tomcat-8.0.20 -Djava.io.tmpdir=/opt/apache-tomcat-8.0.20/temp org.apache.catalina.startup.Bootstrap start
從上面可以看出,這個Tomcat進程狀態(tài)是D,這就表明它已經(jīng)被內(nèi)核放入了內(nèi)核隊列。
如果進程可以被 kill 掉,那么可以利用kill 命令來終止一個進程,也可以使用下面的命令來強制 kill 掉一個進程:
[root@zhangyz /]# kill -9 3600
如果無法用 kill -9 強制終止進程,可以采用 strace 運行 strace -p [進程ID],可以查看它當(dāng)前調(diào)用的那個系統(tǒng)調(diào)用出現(xiàn)什么問題,或者用gdb運行-attach [進程ID] 進行調(diào)試,看是什么函數(shù)沒有正確返回,或者卡在哪里。
有時進程被阻塞不是因為任何代碼問題,而可能是另外一個進程造成的資源沖突,比如文件句柄資源等,我們可以嘗試增加該資源的可用性,就可以解決。
然后我們可以觀察一下與當(dāng)前內(nèi)核版本相關(guān)的文章,看看是否存在已知的 BUG,如果是的話,可以通過升級內(nèi)核來解決。
最后,如果以上方法都沒有結(jié)果,建議及時聯(lián)系 Kernel.org 的社區(qū),解決問題或求助。
總而言之,處理Linux下阻塞進程,我們可以通過以上幾步來解決,但要保證這些操作,一定要保持系統(tǒng)的平穩(wěn)性和安全性,以免發(fā)生意想不到的后果。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
分享題目:Linux下阻塞進程的處理方法(linux阻塞進程)
網(wǎng)頁路徑:http://fisionsoft.com.cn/article/cdjhgcs.html


咨詢
建站咨詢
