国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【jvm系列-13】jvm性能調(diào)優(yōu)篇---參數(shù)設(shè)置以及日志分析

這篇具有很好參考價(jià)值的文章主要介紹了【jvm系列-13】jvm性能調(diào)優(yōu)篇---參數(shù)設(shè)置以及日志分析。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

JVM系列整體欄目


內(nèi)容 鏈接地址
【一】初識(shí)虛擬機(jī)與java虛擬機(jī) https://blog.csdn.net/zhenghuishengq/article/details/129544460
【二】jvm的類加載子系統(tǒng)以及jclasslib的基本使用 https://blog.csdn.net/zhenghuishengq/article/details/129610963
【三】運(yùn)行時(shí)私有區(qū)域之虛擬機(jī)棧、程序計(jì)數(shù)器、本地方法棧 https://blog.csdn.net/zhenghuishengq/article/details/129684076
【四】運(yùn)行時(shí)數(shù)據(jù)區(qū)共享區(qū)域之堆、逃逸分析 https://blog.csdn.net/zhenghuishengq/article/details/129796509
【五】運(yùn)行時(shí)數(shù)據(jù)區(qū)共享區(qū)域之方法區(qū)、常量池 https://blog.csdn.net/zhenghuishengq/article/details/129958466
【六】對(duì)象實(shí)例化、內(nèi)存布局和訪問定位 https://blog.csdn.net/zhenghuishengq/article/details/130057210
【七】執(zhí)行引擎,解釋器、JIT即時(shí)編譯器 https://blog.csdn.net/zhenghuishengq/article/details/130088553
【八】精通String字符串底層機(jī)制 https://blog.csdn.net/zhenghuishengq/article/details/130154453
【九】垃圾回收底層原理和算法以及JProfiler的基本使用 https://blog.csdn.net/zhenghuishengq/article/details/130261481
【十】垃圾回收器的種類以及內(nèi)部的執(zhí)行原理 https://blog.csdn.net/zhenghuishengq/article/details/130261481
【十一】jvm性能調(diào)優(yōu)篇之命令行工具的基本使用 https://blog.csdn.net/zhenghuishengq/article/details/130641456
【十二】jvm性能調(diào)優(yōu)篇之GUI工具的基本使用 https://blog.csdn.net/zhenghuishengq/article/details/130745931
【十三】jvm性能調(diào)優(yōu)篇之參數(shù)設(shè)置以及日志分析 https://blog.csdn.net/zhenghuishengq/article/details/130802703

一,JVM參數(shù)設(shè)置以及日志分析

1,JVM的參數(shù)設(shè)置

1.1,標(biāo)準(zhǔn)參數(shù)選項(xiàng)

特點(diǎn)就是比較穩(wěn)定,后續(xù)的版本也不會(huì)變化,以-開頭??梢源蜷_cmd可執(zhí)行命令,輸入java -help,就可以查看對(duì)應(yīng)的命令,如可以通過-server和-client模式設(shè)置是客戶端模式還是服務(wù)端模式

java -help

1.2,-X參數(shù)選項(xiàng)

非標(biāo)準(zhǔn)化參數(shù),功能相對(duì)穩(wěn)定,后續(xù)版本可能會(huì)發(fā)生變動(dòng),以-X開頭。可以輸入java -X ,就可以查看到對(duì)應(yīng)的命令。如可以通過這個(gè)-Xmixed來作為執(zhí)行引擎的混合模式,解釋器+編譯器。

java -X

還有一些如設(shè)置堆的初始大小,最大大小以及設(shè)置線程的大小等

-Xms10m -Xmx10m -Xss10m

1.3,-XX參數(shù)類型

也是非標(biāo)準(zhǔn)化參數(shù),使用的自多的參數(shù)類型,功能相對(duì)不穩(wěn)定,以-XX開頭,一般用于開發(fā)和調(diào)試JVM。

又可以對(duì)這些指令進(jìn)行分類,分成boolean類型和非boolean類型。boolean類型的通過+、- 加或者減來啟用或者禁用某個(gè)屬性,因?yàn)橛械闹噶钍悄J(rèn)開啟或者默認(rèn)關(guān)閉的。如下面的一些命令:

-XX:+UseParallelGc         選擇垃圾收集器為并行垃圾收集器
-XX:+UseG1GC               啟用G1收集器
-XX:+UseAdaptiveSizePolicy 自動(dòng)選擇新生代大小和相應(yīng)的s區(qū)的比例
-XX:+PrintFlagsFinal       輸出所有參數(shù)的名稱和默認(rèn)值

非boolean類型的如下

//key/value類型
-XX:NewSize=1024M          新生代初始大小
-XX:MaxGCPauseMillis=500   設(shè)置GC停頓時(shí)間:500ms
-XX:GCTimeRatio=19         設(shè)置吞吐量
-XX:NewRatio=2             設(shè)置新生代和老年代比例

2,添加JVM參數(shù)

如在運(yùn)行一個(gè)jar包,可以設(shè)置堆的大小,gc的間隔以及打印日志等

java -Xms1024m -Xmx1024m -XX:PrintGcDetails -XX:+PrintGcTimeStamps -jar xx.jar

3,常用的JVM的參數(shù)選項(xiàng)

打印的相關(guān)參數(shù)有

-XX:PrintFlagsFinal        表示打印出XX選項(xiàng)在運(yùn)行時(shí)程序生效的值
-XX:PrintFlagsInitial      表示打印出XX選項(xiàng)的默認(rèn)值
-XX:PrintVMOptions         打印JVM參數(shù)

棧的相關(guān)參數(shù)有

-Xss1m                     設(shè)置每個(gè)線程棧的大小為1m

堆內(nèi)存的相關(guān)參數(shù)

-Xms1024m -Xmx1024m        設(shè)置堆的初始大小和最大大小都是1024m
-Xmn2g                     設(shè)置的是年輕代的大小
-XX:NewRatio=4             設(shè)置老年代和新生代的比例,默認(rèn)為2
-XX:NewSize=1g             設(shè)置年輕代的初始大小為1g
-XX:NewMaxSize=1g          設(shè)置年輕代的最大大小為1g

在堆中還有一個(gè)重要的參數(shù)設(shè)置,這個(gè)自動(dòng)選擇各區(qū)比例是開啟的,所有有時(shí)查看到的eden區(qū)和s區(qū)的比例有時(shí)為6:1,這個(gè)比例是動(dòng)態(tài)調(diào)整的,如果想讓他的值為默認(rèn)值8:1,就得將這個(gè)-XX:SurvivorRatio=8 開啟

-XX:SurvivorRatio=8        設(shè)置Eden區(qū)和s區(qū)的比例,默認(rèn)為8
-XX:+UseAdaptiveSizePolicy 自動(dòng)選擇各區(qū)比例

方法區(qū)的相關(guān)參數(shù),由于jdk8以及之后實(shí)現(xiàn)這個(gè)方法區(qū)的方式都是元空間,因此只談元空間的參數(shù)設(shè)置

-XX:MetaspaceSize          初始空間
-XX:MaxMetaspaceSize=8     最大空間
-XX:+UseCompressedOops     壓縮對(duì)象 指針
-XX:CompressedClassSpaceSize        設(shè)置類的元空間大小,默認(rèn)是1G

OutofMemory相關(guān)參數(shù)

-XX:+HeapDumpOnOutOfMemory 表示出現(xiàn)OOM時(shí),生成一個(gè)堆的dump文件
-XX:HeapDumpBeforeFullGc   表示出現(xiàn)這個(gè)FullGc之前,生成heap的存儲(chǔ)文件
-XX:HeapDumpPath=<path>    指定heap轉(zhuǎn)存儲(chǔ)文件的存儲(chǔ)路徑
-XX:OnOutOfMemoryError     指定一個(gè)可行性的程序或者腳本

垃圾收集相關(guān)選項(xiàng)

-XX:+UseSerialGC           指定新生代和老年代使用serial回收器
-XX:+UseParNewGC           手動(dòng)指定ParNewGC作為新生代的回收器
-XX:ParallelGCThreads      限制線程數(shù)量,默認(rèn)開啟和CPU相同的線程數(shù)
-XX:+UseParallelGC         手動(dòng)指定并使用Parallel作為并行收集器
-XX:+UseParallelOldGC      手動(dòng)指定老年代都是使用并行回收器
-XX:GCTimeRatio            垃圾收集時(shí)間占總時(shí)間比例
-XX:+UseAdapaiveSizePolicy 自適應(yīng)調(diào)節(jié)策略
-XX:+UseConcMarkSweepGC    手動(dòng)指定CMS作為垃圾回收器
-XX:ParallelCMSThreads     設(shè)置CMS的線程數(shù)量
-XX:MaxGCPauseMillis       設(shè)置期望值達(dá)到的最大GC停頓時(shí)間
-XX:ParallelGCThread       設(shè)置STW時(shí)GC線程數(shù)的值,最多設(shè)置為8
-XX:UseG1GC                手動(dòng)指定使用G1收集器執(zhí)行內(nèi)存回收任務(wù)
-XX:G1HeapRegionSize       設(shè)置每個(gè)region的分區(qū)大小
-XX:ConcGCThreads          設(shè)置并發(fā)標(biāo)記的線程數(shù)

GC日志相關(guān)選項(xiàng)

-verbose:gc                輸出GC日志信息
-XX:+PrintGC               輸出GC日志信息
-XX:+PrintGCDetails        發(fā)生垃圾回收時(shí)打印內(nèi)存回收的詳細(xì)信息
-XX:+PrintHeapAtGC         每一次GC前和GC后,都打印堆信息
-XX:PrintGCTimeStamps      輸出gc打印時(shí)間戳信息
-Xloggc <path>             將日志文件保存到指定的path路徑下

其他參數(shù)

-XX:+DisableExplicitGC      禁用虛擬機(jī)執(zhí)行System.gc()
-XX:+UseCodeCacheFlushing   清理一些編譯的代碼
-XX:+DoEscapeAnalysis       開啟逃逸分析
-XX:+UseBiasedLocking       開啟偏向鎖
-XX:+UseTLAB                使用TLAB,默認(rèn)是打開的
-XX:TLABSize                設(shè)置TLAB的大小

也可以通過java代碼來獲取jvm參數(shù)

/**
 * @author zhenghuisheng
 * @date : 2023/5/19
 */
public class JvmParamTest {
    public static void main(String[] args) {
        MemoryMXBean memorymbean = ManagementFactory.getMemoryMXBean();
        MemoryUsage usage = memorymbean.getHeapMemoryUsage();
        System.out.println("INIT HEAP: " + usage.getInit());
        System.out.println("MAX HEAP: " + usage.getMax());
        System.out.println("USE HEAP: " + usage.getUsed());
        System.out.println("\nFull Information:");
        System.out.println("Heap Memory Usage: "
                + memorymbean.getHeapMemoryUsage());
        System.out.println("Non-Heap Memory Usage: "
                + memorymbean.getNonHeapMemoryUsage());

        List<String> inputArguments = ManagementFactory.getRuntimeMXBean().getInputArguments();
        System.out.println("===================java optiOns=============== ");
        System.out.println(inputArguments);



        System.out.println("=======================通過java來獲取相關(guān)系統(tǒng)狀態(tài)============================ ");
        int i = (int)Runtime.getRuntime().totalMemory()/1024;//Java 虛擬機(jī)中的內(nèi)存總量,以字節(jié)為單位 
        System.out.println("總的內(nèi)存量 i is "+i);
        int j = (int)Runtime.getRuntime().freeMemory()/1024;//Java 虛擬機(jī)中的空閑內(nèi)存量 
        System.out.println("空閑內(nèi)存量 j is "+j);
        System.out.println("最大內(nèi)存量 is "+Runtime.getRuntime().maxMemory()/1024);

        System.out.println("=======================OperatingSystemMXBean============================ ");
        OperatingSystemMXBean osm = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
        
        //獲取操作系統(tǒng)相關(guān)信息 
        System.out.println("osm.getArch() "+osm.getArch());
        System.out.println("osm.getAvailableProcessors() "+osm.getAvailableProcessors());
        //System.out.println("osm.getCommittedVirtualMemorySize() "+osm.getCommittedVirtualMemorySize()); 
        System.out.println("osm.getName() "+osm.getName());
        //System.out.println("osm.getProcessCpuTime() "+osm.getProcessCpuTime()); 
        System.out.println("osm.getVersion() "+osm.getVersion());
        //獲取整個(gè)虛擬機(jī)內(nèi)存使用情況 
        System.out.println("=======================MemoryMXBean============================ ");
        MemoryMXBean mm=(MemoryMXBean)ManagementFactory.getMemoryMXBean();
        System.out.println("getHeapMemoryUsage "+mm.getHeapMemoryUsage());
        System.out.println("getNonHeapMemoryUsage "+mm.getNonHeapMemoryUsage());
        //獲取各個(gè)線程的各種狀態(tài),CPU 占用情況,以及整個(gè)系統(tǒng)中的線程狀況 
        System.out.println("=======================ThreadMXBean============================ ");
        ThreadMXBean tm=(ThreadMXBean)ManagementFactory.getThreadMXBean();
        System.out.println("getThreadCount "+tm.getThreadCount());
        System.out.println("getPeakThreadCount "+tm.getPeakThreadCount());
        System.out.println("getCurrentThreadCpuTime "+tm.getCurrentThreadCpuTime());
        System.out.println("getDaemonThreadCount "+tm.getDaemonThreadCount());
        System.out.println("getCurrentThreadUserTime "+tm.getCurrentThreadUserTime());

        //當(dāng)前編譯器情況 
        System.out.println("=======================CompilatiOnMXBean============================ ");
        CompilationMXBean gm=(CompilationMXBean)ManagementFactory.getCompilationMXBean();
        System.out.println("getName "+gm.getName());
        System.out.println("getTotalCompilationTime "+gm.getTotalCompilationTime());
        
        //獲取運(yùn)行時(shí)信息 
        System.out.println("=======================RuntimeMXBean============================ ");
        RuntimeMXBean rmb=(RuntimeMXBean)ManagementFactory.getRuntimeMXBean();
        System.out.println("getClassPath "+rmb.getClassPath());
        System.out.println("getLibraryPath "+rmb.getLibraryPath());
        System.out.println("getVmVersion "+rmb.getVmVersion());
    }
}

其打印結(jié)果如下

INIT HEAP: 268435456
MAX HEAP: 3799515136
USE HEAP: 8061840

Full Information:
Heap Memory Usage: init = 268435456(262144K) used = 8061840(7872K) committed = 257425408(251392K) max = 3799515136(3710464K)
Non-Heap Memory Usage: init = 2555904(2496K) used = 5345064(5219K) committed = 8060928(7872K) max = -1(-1K)
===================java optiOns=============== 
[-javaagent:D:\idea\IntelliJ IDEA 2019.1\lib\idea_rt.jar=58982:D:\idea\IntelliJ IDEA 2019.1\bin, -Dfile.encoding=UTF-8]
=======================通過java來獲取相關(guān)系統(tǒng)狀態(tài)============================ 
總的內(nèi)存量 i is 251392
空閑內(nèi)存量 j is 243519
最大內(nèi)存量 is 3710464
=======================OperatingSystemMXBean============================ 
osm.getArch() amd64
osm.getAvailableProcessors() 4
osm.getName() Windows 10
osm.getVersion() 10.0
=======================MemoryMXBean============================ 
getHeapMemoryUsage init = 268435456(262144K) used = 8061840(7872K) committed = 257425408(251392K) max = 3799515136(3710464K)
getNonHeapMemoryUsage init = 2555904(2496K) used = 5396384(5269K) committed = 8060928(7872K) max = -1(-1K)
=======================ThreadMXBean============================ 
getThreadCount 6
getPeakThreadCount 6
getCurrentThreadCpuTime 375000000
getDaemonThreadCount 5
getCurrentThreadUserTime 187500000
=======================CompilatiOnMXBean============================ 
getName HotSpot 64-Bit Tiered Compilers
getTotalCompilationTime 28
=======================RuntimeMXBean============================ 

二,GC日志的分析

GC按照回收區(qū)域主要分為兩大類型:一種是部分收集,一種是整堆收集。 部分收集的意思就是不是完整收集整個(gè)java堆的垃圾收集,比如有新生代的Minor GC、老年代的MajorGC;整堆收集就是收集整個(gè)Java堆和方法區(qū)的垃圾收集,比如有Full GC。

觸發(fā)Full GC的場景如下:老年代的空間不足、方法區(qū)的空間不足、顯式調(diào)用System.GC()、Minor GC進(jìn)入老年代的平均大小大于老年代的可用內(nèi)存大小、大對(duì)象直接進(jìn)入老年代

在GC中,一般會(huì)有三個(gè)時(shí)間:user、sys、real。

  • user表示的是用戶態(tài)所使用的時(shí)間,這是執(zhí)行此進(jìn)程所使用的實(shí)際CPU時(shí)間。
  • sys表示的是內(nèi)核態(tài)消耗的時(shí)間,即在內(nèi)核系統(tǒng)調(diào)用或等待系統(tǒng)事件所使用的CPU時(shí)間
  • real是程序開始到結(jié)束的時(shí)間。

如下面是一段線上服務(wù)的GC日志信息

Heap:
 PSYoungGen      total 1560576K, used 202793K [0x0000000755580000, 0x00000007c0000000, 0x00000007c0000000)
  eden space 1376768K, 13% used [0x0000000755580000,0x000000076115da18,0x00000007a9600000)
  from space 183808K, 5% used [0x00000007b4c80000,0x00000007b56accb0,0x00000007c0000000)
  to   space 185344K, 0% used [0x00000007a9600000,0x00000007a9600000,0x00000007b4b00000)
 ParOldGen       total 3495424K, used 80041K [0x0000000680000000, 0x0000000755580000, 0x0000000755580000)
  object space 3495424K, 2% used [0x0000000680000000,0x0000000684e2a410,0x0000000755580000)
 Metaspace       used 93746K, capacity 98782K, committed 99608K, reserved 1136640K
  class space    used 11338K, capacity 12190K, committed 12328K, reserved 1048576K

GC日志的格式規(guī)律一般都是:GC前內(nèi)存占用 —> GC后內(nèi)存占用(總內(nèi)存)

[PSYoungGen5986K -> 696K(8704K)] 5986K -> 704K(9216K)

GC失敗的場景

[GC (Allocation Failure) [PSYoungGen: 2240K->384K(2560K)] 4803K->2947K(9728K), 0.0006347 secs]

也可以使用一些GC工具進(jìn)行日志分析,如GC Easy,GC View工具等等。如下面是一個(gè)GC Easy的官網(wǎng),其地址為:https://gceasy.io/,選擇對(duì)應(yīng)的log文件即可

【jvm系列-13】jvm性能調(diào)優(yōu)篇---參數(shù)設(shè)置以及日志分析

在選擇文件之后,就可以進(jìn)入到下面的頁面,從上往下滑就可以查看對(duì)應(yīng)的詳細(xì)信息

【jvm系列-13】jvm性能調(diào)優(yōu)篇---參數(shù)設(shè)置以及日志分析

在all Thread這里,可以發(fā)現(xiàn)這現(xiàn)線程的狀態(tài),正處于阻塞狀態(tài)
【jvm系列-13】jvm性能調(diào)優(yōu)篇---參數(shù)設(shè)置以及日志分析
總而言之,這款工具還是挺好使用的文章來源地址http://www.zghlxwxcb.cn/news/detail-456287.html

到了這里,關(guān)于【jvm系列-13】jvm性能調(diào)優(yōu)篇---參數(shù)設(shè)置以及日志分析的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • MySQL性能調(diào)優(yōu)篇(8)-NoSQL與MySQL的比較

    MySQL數(shù)據(jù)庫是一種關(guān)系型數(shù)據(jù)庫,而NoSQL是一種非關(guān)系型數(shù)據(jù)庫。它們在數(shù)據(jù)存儲(chǔ)和處理方式、數(shù)據(jù)模型和可擴(kuò)展性等方面存在一些明顯的差異。本文將對(duì)MySQL數(shù)據(jù)庫和NoSQL進(jìn)行比較,并介紹它們的優(yōu)勢和劣勢。 首先,MySQL使用表格的形式來存儲(chǔ)數(shù)據(jù),采用一對(duì)多的關(guān)系,并且

    2024年02月19日
    瀏覽(17)
  • Java線上故障排查(CPU、磁盤、內(nèi)存、網(wǎng)絡(luò)、GC)+JVM性能調(diào)優(yōu)監(jiān)控工具+JVM常用參數(shù)和命令

    Java線上故障排查(CPU、磁盤、內(nèi)存、網(wǎng)絡(luò)、GC)+JVM性能調(diào)優(yōu)監(jiān)控工具+JVM常用參數(shù)和命令

    根據(jù)服務(wù)部署和項(xiàng)目架構(gòu),從如下幾個(gè)方面排查: (1)運(yùn)用服務(wù)器:排查內(nèi)存,cpu,請求數(shù)等; (2)文件圖片服務(wù)器:排查內(nèi)存,cpu,請求數(shù)等; (3)計(jì)時(shí)器服務(wù)器:排查內(nèi)存,cpu,請求數(shù)等; (4)redis服務(wù)器:排查內(nèi)存,cpu,連接數(shù)等; (5)db服務(wù)器:排查內(nèi)存,cpu,連接數(shù)

    2024年02月07日
    瀏覽(29)
  • 【業(yè)務(wù)功能篇86】微服務(wù)-springcloud-系統(tǒng)性能壓力測試-jmeter-性能優(yōu)化-JVM參數(shù)調(diào)優(yōu)-Nginx實(shí)現(xiàn)動(dòng)靜分離

    【業(yè)務(wù)功能篇86】微服務(wù)-springcloud-系統(tǒng)性能壓力測試-jmeter-性能優(yōu)化-JVM參數(shù)調(diào)優(yōu)-Nginx實(shí)現(xiàn)動(dòng)靜分離

    ??壓力測試是給軟件不斷加壓,強(qiáng)制其在極限的情況下運(yùn)行,觀察它可以運(yùn)行到何種程度,從而發(fā)現(xiàn)性能缺陷,是通過搭建與實(shí)際環(huán)境相似的測試環(huán)境,通過測試程序在同一時(shí)間內(nèi)或某一段時(shí)間內(nèi),向系統(tǒng)發(fā)送預(yù)期數(shù)量的交易請求、測試系統(tǒng)在不同壓力情況下的效率狀況,

    2024年02月07日
    瀏覽(30)
  • Hadoop3教程(三十六):(生產(chǎn)調(diào)優(yōu)篇)企業(yè)開發(fā)場景中的參數(shù)調(diào)優(yōu)案例概述

    這章僅做興趣了解即可。 需求:從1G數(shù)據(jù)中,統(tǒng)計(jì)每個(gè)單詞出現(xiàn)次數(shù)。服務(wù)器3臺(tái),每臺(tái)配置4G內(nèi)存,4核CPU,4線程。 需求分析: 1G / 128m = 8個(gè)MapTask;1個(gè)ReduceTask;1個(gè)mrAppMaster 平均每個(gè)節(jié)點(diǎn)運(yùn)行10個(gè) / 3臺(tái) ≈ 3個(gè)任務(wù)(4 3 3) 當(dāng)然,這只是個(gè)案例演示,生產(chǎn)環(huán)境中一般是結(jié)合機(jī)器

    2024年02月08日
    瀏覽(25)
  • Hadoop3教程(二十六):(生產(chǎn)調(diào)優(yōu)篇)NameNode核心參數(shù)配置與回收站的啟用

    Hadoop3教程(二十六):(生產(chǎn)調(diào)優(yōu)篇)NameNode核心參數(shù)配置與回收站的啟用

    每個(gè)文件塊(的元數(shù)據(jù)等)在內(nèi)存中大概 占用150byte ,一臺(tái)服務(wù)器128G內(nèi)存的話,大概能存儲(chǔ)9.1億個(gè)文件塊。 在Hadoop2.x里,如何配置NameNode內(nèi)存? NameNode默認(rèn)內(nèi)存2000M。如果你的服務(wù)器內(nèi)存是4G,那一般可以把NN內(nèi)存設(shè)置成3G,留1G給服務(wù)器維持基本運(yùn)行(如系統(tǒng)運(yùn)行需要、Data

    2024年02月08日
    瀏覽(23)
  • 13-JVM調(diào)優(yōu)實(shí)戰(zhàn)-3

    13-JVM調(diào)優(yōu)實(shí)戰(zhàn)-3

    上一篇:12-JVM調(diào)優(yōu)實(shí)戰(zhàn)-2 今天來介紹一款阿里巴巴的調(diào)優(yōu)工具。 Arthas詳解 Arthas 是 Alibaba 在 2018 年 9 月開源的 Java 診斷工具。支持 JDK6+, 采用命令行交互模式,可以方便的定位和診斷線上程序運(yùn)行問題。Arthas 官方文檔十分詳細(xì),詳見:https://arthas.aliyun.com/ 得益于 Arthas 強(qiáng)大且

    2024年02月09日
    瀏覽(9)
  • JVM 17 調(diào)優(yōu)指南:如何進(jìn)行JVM調(diào)優(yōu),JVM調(diào)優(yōu)參數(shù)

    在這篇文章中,我會(huì)詳細(xì)介紹JVM調(diào)優(yōu)的概念、重要性和具體的JVM調(diào)優(yōu)參數(shù)。此外,我將提供12個(gè)實(shí)用的代碼示例,每個(gè)示例都會(huì)包含JVM調(diào)優(yōu)參數(shù)和相應(yīng)的Java代碼。 本文已收錄于,我的技術(shù)網(wǎng)站 ddkk.com,有大廠完整面經(jīng),工作技術(shù),架構(gòu)師成長之路,等經(jīng)驗(yàn)分享 JVM調(diào)優(yōu)是調(diào)整

    2024年02月02日
    瀏覽(31)
  • JVM 11 調(diào)優(yōu)指南:如何進(jìn)行JVM調(diào)優(yōu),JVM調(diào)優(yōu)參數(shù)

    JVM 11的優(yōu)化指南:如何進(jìn)行JVM調(diào)優(yōu),以及JVM調(diào)優(yōu)參數(shù)有哪些”這篇文章將包含JVM 11調(diào)優(yōu)的核心概念、重要性、調(diào)優(yōu)參數(shù),并提供12個(gè)實(shí)用的代碼示例,每個(gè)示例都會(huì)結(jié)合JVM調(diào)優(yōu)參數(shù)和Java代碼 本文已收錄于,我的技術(shù)網(wǎng)站 ddkk.com,有大廠完整面經(jīng),工作技術(shù),架構(gòu)師成長之路,

    2024年01月16日
    瀏覽(15)
  • JVM 8 調(diào)優(yōu)指南:如何進(jìn)行JVM調(diào)優(yōu),JVM調(diào)優(yōu)參數(shù)

    這篇文章將詳細(xì)介紹如何進(jìn)行JVM 8調(diào)優(yōu),包括JVM 8調(diào)優(yōu)參數(shù)及其應(yīng)用。此外,我將提供12個(gè)實(shí)用的代碼示例,每個(gè)示例都會(huì)結(jié)合JVM啟動(dòng)參數(shù)和Java代碼。 本文已收錄于,我的技術(shù)網(wǎng)站 ddkk.com,有大廠完整面經(jīng),工作技術(shù),架構(gòu)師成長之路,等經(jīng)驗(yàn)分享 JVM調(diào)優(yōu)是指通過調(diào)整Java虛擬

    2024年01月21日
    瀏覽(23)
  • JVM 21 的調(diào)優(yōu)指南:如何進(jìn)行JVM調(diào)優(yōu),JVM調(diào)優(yōu)參數(shù)

    聊聊關(guān)于JVM 21的優(yōu)化指南。這篇文章將會(huì)深入探討如何進(jìn)行JVM調(diào)優(yōu),介紹一些關(guān)鍵的JVM調(diào)優(yōu)參數(shù),并提供12個(gè)實(shí)用的代碼示例。由于篇幅較長,我會(huì)分幾個(gè)部分來詳細(xì)講解,之前寫的也有33篇系列教程JVM調(diào)優(yōu)實(shí)戰(zhàn)打擊也可以去圍觀。 JVM(Java虛擬機(jī))調(diào)優(yōu)是一個(gè)復(fù)雜但重要的任

    2024年01月24日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包