`
bupt04406
  • 浏览: 348277 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

java命令相关

    博客分类:
  • java
阅读更多
search.yahoo.com

ubuntu下java home目录是
tianzhao@tianzhao-VirtualBox:~/hadoop-0.20.2-cdh3u0/conf$ echo $JAVA_HOME
/usr/

相关java-options: -server -Xmx40g -Xms40g -Xmn10g -XX:MaxDirectMemorySize=1024m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC

参数的含义
-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
-vmargs 说明后面是VM的参数,所以后面的其实都是JVM的参数了
-Xms128m JVM初始分配的堆内存
-Xmx512m JVM最大允许分配的堆内存,按需分配
-XX:PermSize=64M JVM初始分配的非堆内存
-XX:MaxPermSize=128M JVM最大允许分配的非堆内存,按需分配

http://engineering.linkedin.com/garbage-collection/garbage-collection-optimization-high-throughput-and-low-latency-java-applications

https://code.google.com/p/gclogviewer/


btrace
Byteman


bin/hadoop 
HADOOP_OPTS="$HADOOP_OPTS -Dcom.sun.management.jmxremote.port=22801 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

-XX:+HeapDumpOnOutOfMemoryError

config/hadoop-env.sh
#export HADOOP_OPTS="-server -XX:+HeapDumpOnOutOfMemoryError -XX:+DisableExplicitGC -verbosegc -XX:+PrintGCDetails -XX:GCHeapFreeLimit=5 -Xms400m -Xmx400m  -Xmn60m"
export HADOOP_OPTS="-server -XX:+HeapDumpOnOutOfMemoryError"
export HADOOP_OPTS="-server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./java_pid<pid>.hprof"


JVM Settings   The following can be helpful for diagnosing GC issues:
-XX:+PrintGCApplicationConcurrentTime
-XX:+PrintGCApplicationStoppedTime
-XX:+PrintGCCause
-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
-XX:+PrintGCDetails
-XX:+PrintClassHistogramAfterFullGC
-XX:+PrintClassHistogramBeforeFullGC
-XX:PrintFLSStatistics=2
-XX:+PrintAdaptiveSizePolicy
-XX:+PrintSafepointStatistics
-XX:PrintSafepointStatisticsCount=1


netstat -na|grep 22801 查看22801端口是否已在监听。如果没有请检查你的配置。
jconsole
ip:22801

gc优化设置:
http://www.slideshare.net/cuonghuutran/gc-andpagescanattacksbylinux?from_search=37

$ jps
4704 Jps
12752 JobShell
$jps -mlVv

jps -l
jps -lm


$ jstack 12752
$ jstack -l 12752
$ jmap -heap 12752  
$ jmap -dump:format=b,file=jmap.bin 12752  
jinfo:打印JVM启动内部信息,譬如启动参数、JVM版本、操作系统信息等,具体可参见JVM Manage API的OperatingSystem和Runtime这两个Bean,本功能基于JVM Manage API实现。最常用的使用格式:
jinfo pid
jstat:一个内存和垃圾回收情况的统计工具
jmap:当前的堆内存信息dump,JDK6中支持dump到一个文件,由其他分析程序对堆内存进行分析(譬如jhat/Eclipse Memory Anaylzer)。

jmap -histo:live 30255 > jmapHisto.txt
jmap -histo 30255  //不会触发full gc, -histo:live会触发full gc
If you run jmap -histo:live, that will force a full GC on the heap before it prints anything out.

主动触发full gc 的脚本:
#!/bin/bash
for i in `ps aux | grep -F regionserver | grep -vF grep | awk '{print $2}'`; do
echo $i
jmap -histo:live $i > /dev/null
done

JConsole / Visual VM

java.io.tmpdir = /tmp
java.home = /usr/java/jdk1.6.0_21/jre
user.dir =
user.home =
user.name =

# 输出方式(Append)为覆盖方式
# DatePattern='.'yyyy-ww:每周滚动一次文件,即每周产生一个新的文件。当然也可以指定按月、周、天、时和分。即对应的格式如下:
# 1)'.'yyyy-MM: 每月
# 2)'.'yyyy-ww: 每周
# 3)'.'yyyy-MM-dd: 每天
# 4)'.'yyyy-MM-dd-a: 每天两次
# 5)'.'yyyy-MM-dd-HH: 每小时
# 6)'.'yyyy-MM-dd-HH-mm: 每分钟

log4j.appender.DRFA.DatePattern=.yyyy-MM-dd


javap   查看class文件的接口和实现方法。
jar xvf /home/hadoop/hive/lib/hive_contrib.jar



Mat、BTrace、YourKit Java Profiler
tcpdump

jmx
https://github.com/zhongl/jmxero/wiki/%E5%8F%AA%E7%94%A8%E4%BA%94%E5%88%86%E9%92%9F%E4%B8%BA%E7%B3%BB%E7%BB%9F%E5%AE%9E%E7%8E%B0%E5%9F%BA%E4%BA%8EJMX%E7%9A%84%E7%9B%91%E6%8E%A7

http://www.ibm.com/developerworks/cn/java/j-memoryanalyzer/index.html

编码:
深入分析 Java 中的中文编码问题
http://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/
使用 Java 语言进行 Unicode 代理编程
http://www.ibm.com/developerworks/cn/java/j-unicode/index.html
http://www.ibm.com/developerworks/cn/java/jsp_dbcsz/index.html

jar -tf test.jar
在 test.jar 已经存在的情况下,可以查看 test.jar 中的内容

perftools查看堆外内存并解决hbase内存溢出
http://www.85java.com/thread-16703-1-1.html

http://download.oracle.com/javase/6/docs/jdk/api/attach/spec/index.html

http://kenwublog.com/java6-jvm-options-chinese-edition-published
http://kenwublog.com/docs/java6-jvm-options-chinese-edition.htm
http://rdc.taobao.com/team/jm/
http://kenwublog.com/hbase-performance-tuning

理解Heap Profling名词-Shallow和Retained Sizes:
http://kenwublog.com/understand-shallow-and-retained-size-in-hprofling


分享到:
评论

相关推荐

    JAVA命令大全.pdf

    本文将从给定文件的标题和部分内容中提取出与Java命令相关的知识点。 首先,Java的可执行文件通常位于Java开发工具包(JDK)的bin目录中。这个目录下包含了多个重要的命令行工具,其中一些我们可以在给定文件的部分...

    wsdl2java命令使用

    **WSDL2Java命令使用详解** 在Web服务开发中,WSDL(Web Service Description Language)是一种XML格式,用于定义服务接口、操作、消息结构等。它使得服务提供者和服务消费者可以进行互操作。Apache Axis是Java平台...

    java常见命令指南

    Java命令主要包括编译、运行、调试、性能监控等多个方面,其中`javac`用于编译源代码,`java`用于执行已编译的字节码,而`jps`、`jstat`等工具则用于系统监控和故障排查。本文主要关注`java`命令的高级用法,特别是...

    java 命令模式实例 (设计模式)

    在Java中,命令模式的应用非常广泛,尤其在需要解耦调用者和接收者时。 命令模式的核心组成部分包括:**命令接口**、**具体命令类**、**接收者**和**调用者**。 1. **命令接口**:定义了一个接收者需执行的操作,...

    关于执行java命令引入外部jar包方法

    ### 二、执行Java命令引入外部JAR包的方法 #### 方法1:修改系统环境变量 最常见的方式是通过修改系统环境变量`CLASSPATH`来添加外部JAR包。`CLASSPATH`环境变量告诉JVM在哪里可以找到用户自定义的类和资源。例如...

    java调用shell命令.pdf

    在这个例子中,我们将看到如何使用 Java 调用 Shell 命令,并介绍相关的知识点。 Java 调用 Shell 命令的必要性 在实际开发中,我们经常需要在 Java 应用程序中执行系统命令或脚本,例如备份数据、发送文件、执行...

    java虚拟机常用命令

    在Java虚拟机运行过程中,我们可能需要使用各种命令工具来监控和诊断可能出现的问题。以下是一些常用的JVM命令工具及其知识点。 1. jps命令 jps(JVM Process Status Tool)命令用于列出正在运行的Java虚拟机进程...

    Java中常用的Linux命令.docx

    Java相关命令 1. 查看Java进程:`ps aux | grep java` 查看所有Java进程。 2. 查看Java进程详细信息:`jps` 命令可以查看Java进程详细信息。 3. 查看Java堆栈信息:`jstack` 命令可以查看Java堆栈信息。 4. 查看...

    java执行外表命令

    在Java编程中,有时我们需要执行操作系统级别的命令,例如创建文件、操作目录或者调用系统工具。...如果你遇到了具体的编程问题或对某个部分不理解,可以进一步分析`Cmd.java`或查阅相关博客内容。

    Java执行dos命令

    下面将详细介绍如何使用Java执行DOS命令以及相关知识点。 一、Runtime类 Runtime类是每个Java应用程序都有的一个实例,它提供了执行系统命令的方法。我们可以通过getRuntime()方法获取到Runtime实例,然后调用exec...

    设计模式--命令模式java例子

    下面是一个简单的Java命令模式示例: ```java // 接收者接口 interface Receiver { void action(); } // 具体接收者类 class ConcreteReceiver implements Receiver { @Override public void action() { ...

    FTP基本命令的JAVA实现

    在JAVA中实现FTP命令主要是通过使用Java的Socket编程和相关类库,如java.net.Socket和java.net.ServerSocket等。下面将详细介绍如何使用JAVA实现FTP命令以及相关知识点。 1. **FTP命令处理** FTP命令分为控制命令...

    java 调用 windows cmd 命令

    本文将深入探讨如何在Java中调用Windows CMD命令,并提供一个具体的代码示例——`FileProcessInShell.java`。 首先,我们来看Java是如何调用外部命令的。在Java中,有两种主要的方法可以执行系统命令: 1. **...

    Java性能调优命令

    6. Java命令配合特定参数可用来查看JDK的版本以及JVM启动时的初始和最大堆大小。如`java -XX:+PrintFlagsFinal -version 2&gt;&1 | grep MaxHeapSize`命令用于查看最大堆大小。 7. Java.lang.OutOfMemoryError是一种...

    Java调用Linux命令

    根据提供的文件信息,我们可以深入探讨如何在Java程序中调用Linux命令,并且解析与之相关的技术要点。 ### Java调用Linux命令 Java提供了一种强大的机制来执行操作系统级别的任务,其中包括调用Linux命令。实现这...

    java操作DOS命令

    下面我们将深入探讨如何在Java中实现DOS命令的调用,并了解相关的重要知识点。 首先,Java提供了`Runtime`类和`ProcessBuilder`类来执行外部命令。`Runtime.getRuntime().exec()`方法是更传统的选择,而`...

    java-JDK常用命令详解

    Java JDK 常用命令详解 Java JDK 提供了多种命令来帮助开发者更好地使用 Java 语言,以下是 JDK 中常用的命令解释: 1. rmic 命令 rmic 命令用于生成 stub 和 skeleton,它可以将 Java 类编译成可供远程对象使用...

    JAVA如何调用DOS命令.doc

    本文将详细讲解如何在Java中调用DOS命令以及相关的注意事项。 首先,调用DOS命令的基本语法如下: ```java Process process = Runtime.getRuntime().exec(command); ``` 这里的`command`是你要执行的DOS命令,...

    wsdl2java命令使用所需bin

    标题"wsdl2java命令使用所需bin"暗示了这是一个关于如何使用`wsdl2java`工具的教程,该工具通常用于从WSDL(Web服务描述语言)文件生成Java客户端和服务端代码。这个过程被称为WSDL到Java的绑定,是SOA(面向服务...

Global site tag (gtag.js) - Google Analytics