查看Spark进程的JVM配置及内存使用

 

查看Spark进程的JVM配置及内存使用

如何查看正在运行的Spark进程的JVM配置以及分代的内存使用情况,是线上运行作业常用的监控手段:


1、通过ps命令查询PID

[plain]  view plain  copy
  1. ps -ef  | grep 5661  

可以根据命令中的特殊字符来定位pid




2、使用jinfo命令查询该进程的JVM参数设置

[plain]  view plain  copy
  1. jinfo 105007  

可以得到详细的JVM配置信息

[plain]  view plain  copy
  1. Attaching to process ID 105007, please wait...  
  2. Debugger attached successfully.  
  3. Server compiler detected.  
  4. JVM version is 24.65-b04  
  5. Java System Properties:  
  6.   
  7. spark.local.dir = /diskb/sparktmp,/diskc/sparktmp,/diskd/sparktmp,/diske/sparktmp,/diskf/sparktmp,/diskg/sparktmp  
  8. java.runtime.name = Java(TM) SE Runtime Environment  
  9. java.vm.version = 24.65-b04  
  10. sun.boot.library.path = /usr/java/jdk1.7.0_67-cloudera/jre/lib/amd64  
  11. java.vendor.url = http://java.oracle.com/  
  12. java.vm.vendor = Oracle Corporation  
  13. path.separator = :  
  14. file.encoding.pkg = sun.io  
  15. java.vm.name = Java HotSpot(TM) 64-Bit Server VM  
  16. sun.os.patch.level = unknown  
  17. sun.java.launcher = SUN_STANDARD  
  18. user.country = CN  
  19. user.dir = /opt/bin/spark_dev_job  
  20. java.vm.specification.name = Java Virtual Machine Specification  
  21. java.runtime.version = 1.7.0_67-b01  
  22. java.awt.graphicsenv = sun.awt.X11GraphicsEnvironment  
  23. SPARK_SUBMIT = true  
  24. os.arch = amd64  
  25. java.endorsed.dirs = /usr/java/jdk1.7.0_67-cloudera/jre/lib/endorsed  
  26. spark.executor.memory = 24g  
  27. line.separator =   
  28.   
  29. java.io.tmpdir = /tmp  
  30. java.vm.specification.vendor = Oracle Corporation  
  31. os.name = Linux  
  32. spark.driver.memory = 15g  
  33. spark.master = spark://10.130.2.220:7077  
  34. sun.jnu.encoding = UTF-8  
  35. java.library.path = :/opt/cloudera/parcels/CDH/lib/hadoop/lib/native:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib  
  36. sun.nio.ch.bugLevel =   
  37. java.class.version = 51.0  
  38. java.specification.name = Java Platform API Specification  
  39. sun.management.compiler = HotSpot 64-Bit Tiered Compilers  
  40. spark.submit.deployMode = client  
  41. spark.executor.extraJavaOptions = -XX:PermSize=8m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps  
  42. os.version = 2.6.32-573.8.1.el6.x86_64  
  43. user.home = /root  
  44. user.timezone = PRC  
  45. java.awt.printerjob = sun.print.PSPrinterJob  
  46. file.encoding = UTF-8  
  47. java.specification.version = 1.7  
  48. spark.app.name = com.hexun.streaming.NewsTopNRealRankOffsetRise  
  49. spark.eventLog.enabled = true  
  50. user.name = root  
  51. java.class.path = /opt/cloudera/parcels/CDH/lib/hadoop/lib/snappy-java-1.0.4.1.jar:/opt/modules/spark-1.6.1-bin-hadoop2.6/conf/:/opt/modules/spark-1.6.1-bin-hadoop2.6/lib/spark-assembly-1.6.1-hadoop2.6.0.jar:/opt/modules/spark-1.6.1-bin-hadoop2.6/lib/datanucleus-core-3.2.10.jar:/opt/modules/spark-1.6.1-bin-hadoop2.6/lib/datanucleus-api-jdo-3.2.6.jar:/opt/modules/spark-1.6.1-bin-hadoop2.6/lib/datanucleus-rdbms-3.2.9.jar:/etc/hadoop/conf/  
  52. java.vm.specification.version = 1.7  
  53. sun.arch.data.model = 64  
  54. sun.java.command = org.apache.spark.deploy.SparkSubmit --master spark://10.130.2.220:7077 --conf spark.driver.memory=15g --conf spark.executor.extraJavaOptions=-XX:PermSize=8m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps --conf spark.ui.port=5661 --class com.hexun.streaming.NewsTopNRealRankOffsetRise --executor-memory 24g --total-executor-cores 24 --jars /opt/bin/sparkJars/kafka_2.10-0.8.2.1.jar,/opt/bin/sparkJars/spark-streaming-kafka_2.10-1.6.1.jar,/opt/bin/sparkJars/metrics-core-2.2.0.jar,/opt/bin/sparkJars/mysql-connector-java-5.1.26-bin.jar NewsTopNRealRankOffsetRise.jar  
  55. java.home = /usr/java/jdk1.7.0_67-cloudera/jre  
  56. user.language = zh  
  57. java.specification.vendor = Oracle Corporation  
  58. awt.toolkit = sun.awt.X11.XToolkit  
  59. spark.ui.port = 5661  
  60. java.vm.info = mixed mode  
  61. java.version = 1.7.0_67  
  62. java.ext.dirs = /usr/java/jdk1.7.0_67-cloudera/jre/lib/ext:/usr/java/packages/lib/ext  
  63. sun.boot.class.path = /usr/java/jdk1.7.0_67-cloudera/jre/lib/resources.jar:/usr/java/jdk1.7.0_67-cloudera/jre/lib/rt.jar:/usr/java/jdk1.7.0_67-cloudera/jre/lib/sunrsasign.jar:/usr/java/jdk1.7.0_67-cloudera/jre/lib/jsse.jar:/usr/java/jdk1.7.0_67-cloudera/jre/lib/jce.jar:/usr/java/jdk1.7.0_67-cloudera/jre/lib/charsets.jar:/usr/java/jdk1.7.0_67-cloudera/jre/lib/jfr.jar:/usr/java/jdk1.7.0_67-cloudera/jre/classes  
  64. java.vendor = Oracle Corporation  
  65. file.separator = /  
  66. spark.cores.max = 24  
  67. spark.eventLog.dir = hdfs://nameservice1/spark-log  
  68. java.vendor.url.bug = http://bugreport.sun.com/bugreport/  
  69. sun.io.unicode.encoding = UnicodeLittle  
  70. sun.cpu.endian = little  
  71. spark.jars = file:/opt/bin/sparkJars/kafka_2.10-0.8.2.1.jar,file:/opt/bin/sparkJars/spark-streaming-kafka_2.10-1.6.1.jar,file:/opt/bin/sparkJars/metrics-core-2.2.0.jar,file:/opt/bin/sparkJars/mysql-connector-java-5.1.26-bin.jar,file:/opt/bin/spark_dev_job/NewsTopNRealRankOffsetRise.jar  
  72. sun.cpu.isalist =   
  73.   
  74. VM Flags:  
  75.   
  76. -Xms15g -Xmx15g -XX:MaxPermSize=256m  


3、使用jmap查看进程中内存分代使用的情况

[plain]  view plain  copy
  1. jmap -heap 105007  

可以得到该Java进程使用内存的详细情况,包括新生代老年代内存的使用

[plain]  view plain  copy
  1. Attaching to process ID 105007, please wait...  
  2. Debugger attached successfully.  
  3. Server compiler detected.  
  4. JVM version is 24.65-b04  
  5.   
  6. using thread-local object allocation.  
  7. Parallel GC with 18 thread(s)  
  8.   
  9. Heap Configuration:  
  10.    MinHeapFreeRatio = 0  
  11.    MaxHeapFreeRatio = 100  
  12.    MaxHeapSize      = 16106127360 (15360.0MB)  
  13.    NewSize          = 1310720 (1.25MB)  
  14.    MaxNewSize       = 17592186044415 MB  
  15.    OldSize          = 5439488 (5.1875MB)  
  16.    NewRatio         = 2  
  17.    SurvivorRatio    = 8  
  18.    PermSize         = 21757952 (20.75MB)  
  19.    MaxPermSize      = 268435456 (256.0MB)  
  20.    G1HeapRegionSize = 0 (0.0MB)  
  21.   
  22. Heap Usage:  
  23. PS Young Generation  
  24. Eden Space:  
  25.    capacity = 4945084416 (4716.0MB)  
  26.    used     = 2674205152 (2550.320770263672MB)  
  27.    free     = 2270879264 (2165.679229736328MB)  
  28.    54.07804856369109% used  
  29. From Space:  
  30.    capacity = 217579520 (207.5MB)  
  31.    used     = 37486624 (35.750030517578125MB)  
  32.    free     = 180092896 (171.74996948242188MB)  
  33.    17.22893036991717% used  
  34. To Space:  
  35.    capacity = 206045184 (196.5MB)  
  36.    used     = 0 (0.0MB)  
  37.    free     = 206045184 (196.5MB)  
  38.    0.0% used  
  39. PS Old Generation  
  40.    capacity = 10737418240 (10240.0MB)  
  41.    used     = 7431666880 (7087.389831542969MB)  
  42.    free     = 3305751360 (3152.6101684570312MB)  
  43.    69.2127913236618% used  
  44. PS Perm Generation  
  45.    capacity = 268435456 (256.0MB)  
  46.    used     = 128212824 (122.27327728271484MB)  
  47.    free     = 140222632 (133.72672271728516MB)  
  48.    47.762998938560486% used  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值