0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Java服務(wù)器內(nèi)存和CPU占用過高的原因

汽車玩家 ? 來源:今日頭條 ? 作者:太平洋海角 ? 2020-03-21 15:50 ? 次閱讀

一、內(nèi)存占用過高

1、造成服務(wù)器內(nèi)存占用過高只有兩種情況:內(nèi)存溢出或內(nèi)存泄漏

(1)內(nèi)存溢出:程序分配的內(nèi)存超出物理內(nèi)存的大小,導(dǎo)致無法繼續(xù)分配物理內(nèi)存,出現(xiàn)OOM報錯。

(2)內(nèi)存泄漏:不再調(diào)用的對象一直占用著內(nèi)存不釋放,導(dǎo)致所占用的這塊內(nèi)存被浪費掉,久而久之,內(nèi)存泄漏的對象堆積起來,也會導(dǎo)致物理機(jī)的內(nèi)存被耗盡,出現(xiàn)OOM報錯。

2、內(nèi)存過高的檢測辦法:

一般我們的Java服務(wù)器都是部署在Linux機(jī)器上面,可以通過jvm自帶的命令進(jìn)行一些檢測:

(1)查看對象的數(shù)目和占用內(nèi)存大??;

(2)如果需要進(jìn)一步定位問題代碼,那么就需要把Java程序的內(nèi)存鏡像導(dǎo)出,再具體分析了,通過如下命令導(dǎo)出程序的內(nèi)存鏡像。

二、CPU使用過高

1、當(dāng)程序發(fā)現(xiàn)CPU使用過高的情況時,可以使用Windows系統(tǒng)的Process Explorer工具來找到CPU高消耗的線程,所以需要在Windows機(jī)器上面搭建好服務(wù)器的測試環(huán)境,盡量模擬出線上CPU飆升的情況;

2、模擬好環(huán)境后,通過任務(wù)管理器,在進(jìn)程一欄中找到Java程序的進(jìn)程號;

3、下載Process Explorer工具:

4、打開工具后,根據(jù)剛才的進(jìn)程號找到進(jìn)程;

5、然后右鍵-->Properties,再選擇Threads選項卡,點進(jìn)CPU排序,可以找到消耗CPU最多的那個線程;

6、使用科學(xué)計算器,將十進(jìn)制的線程號轉(zhuǎn)成十六進(jìn)制,比如493620-->78834;

7、到此已經(jīng)拿到了可能出問題的進(jìn)程號和線程號,接下來使用jvm內(nèi)置的命令來導(dǎo)出Java的堆棧信息

jstack -l <進(jìn)程號> > <導(dǎo)出目錄+文件名>

8、打開導(dǎo)出的堆棧信息,并全文搜索剛剛拿到的十六進(jìn)制的線程號,就可以找到出問題的代碼具體位置了。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10863

    瀏覽量

    211781
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3025

    瀏覽量

    74054
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2967

    瀏覽量

    104758
收藏 人收藏

    評論

    相關(guān)推薦

    CPU占用過高的常見原因

    排查系統(tǒng)問題時,CPU 飆升是一個常見的問題。
    的頭像 發(fā)表于 10-23 09:33 ?504次閱讀

    服務(wù)器cpu占用率高怎么解決

    服務(wù)器CPU占用率高是一個常見的問題,它可能會導(dǎo)致服務(wù)器性能下降,甚至影響用戶體驗。 一、了解服務(wù)器CP
    的頭像 發(fā)表于 10-10 15:14 ?930次閱讀

    服務(wù)器cpu和臺式機(jī)cpu區(qū)別

    CPU通常設(shè)計用于處理多任務(wù)和多用戶操作,因此它們通常具有更多的核心和線程。 穩(wěn)定性和可靠性: 服務(wù)器需要24/7不間斷運(yùn)行,因此服務(wù)器CPU設(shè)計時會考慮更高的穩(wěn)定性和可靠性。 擴(kuò)展性
    的頭像 發(fā)表于 10-10 15:12 ?1195次閱讀

    香港服務(wù)器選擇CPU需要考慮的因素

    選擇適合香港服務(wù)器CPU是一項細(xì)致的工作,涉及到多方面的考量。正確的選擇不僅能夠滿足當(dāng)前的業(yè)務(wù)需求,還能為未來的發(fā)展預(yù)留空間。以下是選擇香港服務(wù)器CPU時需要考慮的一些重要因素:
    的頭像 發(fā)表于 09-30 09:50 ?196次閱讀

    服務(wù)器連接不上是什么原因引起的?

    服務(wù)器連接不上是一個常見的問題,常見的原因有網(wǎng)絡(luò)連接、賬戶權(quán)限、安全組設(shè)置、服務(wù)器狀態(tài)、端口占用、遠(yuǎn)程登錄未開啟、云服務(wù)器已關(guān)閉或到期、防
    的頭像 發(fā)表于 09-26 11:11 ?217次閱讀

    gpu服務(wù)器cpu服務(wù)器的區(qū)別對比,終于知道怎么選了!

    gpu服務(wù)器cpu服務(wù)器的區(qū)別主要體現(xiàn)在架構(gòu)設(shè)計、性能特點、能耗效率、應(yīng)用場景、市場定位等方面,在以上幾個方面均存在顯著差異。CPU服務(wù)器
    的頭像 發(fā)表于 08-01 11:41 ?494次閱讀

    ai服務(wù)器和通用服務(wù)器的區(qū)別在哪

    AI服務(wù)器和通用服務(wù)器的區(qū)別主要體現(xiàn)在以下幾個方面: 硬件配置 AI服務(wù)器和通用服務(wù)器在硬件配置上有很大的區(qū)別。AI服務(wù)器通常需要更強(qiáng)大的計
    的頭像 發(fā)表于 07-02 09:46 ?1049次閱讀

    揭秘服務(wù)器CPU、內(nèi)存與硬盤的作用

    一般服務(wù)器后面插的硬盤我們稱為本地盤(安裝服務(wù)器的操作系統(tǒng)、應(yīng)用軟件等)。   前面的硬盤可以用作配超融合的虛擬存儲(即:在服務(wù)器上配置虛擬機(jī)的時候,一般分配前置硬盤的資源)。
    的頭像 發(fā)表于 03-25 10:50 ?714次閱讀
    揭秘<b class='flag-5'>服務(wù)器</b><b class='flag-5'>CPU</b>、<b class='flag-5'>內(nèi)存</b>與硬盤的作用

    掌握服務(wù)器基礎(chǔ)知識(CPU、內(nèi)存、硬盤)

    服務(wù)器是在網(wǎng)絡(luò)中為其他客戶機(jī)提供服務(wù)的高性能計算機(jī);具有高速的CPU運(yùn)算能力,能夠長時間的可靠運(yùn)行,有強(qiáng)大的I/O外部數(shù)據(jù)吞吐能力以及更好的擴(kuò)展性
    的頭像 發(fā)表于 03-08 15:02 ?2645次閱讀
    掌握<b class='flag-5'>服務(wù)器</b>基礎(chǔ)知識(<b class='flag-5'>CPU</b>、<b class='flag-5'>內(nèi)存</b>、硬盤)

    站群服務(wù)器需要多大內(nèi)存

    站群服務(wù)器內(nèi)存需求取決于網(wǎng)站的數(shù)量和流量,以及服務(wù)器需要運(yùn)行的應(yīng)用和服務(wù)。RAKsmart小編為您整理發(fā)布站群服務(wù)器需要多大
    的頭像 發(fā)表于 03-04 09:48 ?409次閱讀

    服務(wù)器遠(yuǎn)程不上服務(wù)器怎么辦?服務(wù)器無法遠(yuǎn)程的原因是什么?

    產(chǎn)生問題的原因,檢查硬盤和服務(wù)器系統(tǒng)。通過日志和檢查數(shù)據(jù)來確認(rèn)問題出 現(xiàn)的原因以及如何解決。 三、端口問題 1.端口錯誤 找回正確的端口或更換遠(yuǎn)程端口 2.端口被掃爆 更改端口,并在防火墻禁止掃爆的IP
    發(fā)表于 02-27 16:21

    服務(wù)器內(nèi)存條和普通內(nèi)存條的區(qū)別

    服務(wù)器內(nèi)存條和普通內(nèi)存條的區(qū)別? 服務(wù)器內(nèi)存條和普通內(nèi)存條是計算機(jī)中常見的兩種
    的頭像 發(fā)表于 02-19 10:19 ?8847次閱讀

    服務(wù)器cpu和普通電腦cpu的區(qū)別

    服務(wù)器CPU和普通電腦CPU之間存在許多區(qū)別。在以下文章中,我們將詳細(xì)介紹服務(wù)器CPU和普通電腦CPU
    的頭像 發(fā)表于 02-01 11:14 ?6672次閱讀

    gpu服務(wù)器是干什么的 gpu服務(wù)器cpu服務(wù)器的區(qū)別有哪些

    gpu服務(wù)器是干什么的 gpu服務(wù)器cpu服務(wù)器的區(qū)別 GPU服務(wù)器是一種專門用于處理圖形運(yùn)算的服務(wù)器
    的頭像 發(fā)表于 01-30 15:31 ?870次閱讀