查看GC情况:
1.查到进程:
ps -axu | grep java
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
admin 11467 0.0 0.0 111552 924 pts/7 S+ 20:15 0:00 grep java
admin 13271 0.0 1.2 2396664 49408 ? Sl 18:05 0:01 java -Djava.ext.dirs=/home/admin/acc/lib com.alipay.aqc.coverage.client.ACC start
admin 14110 0.0 3.1 3434184 130292 ? Sl 18:05 0:07 java -Djava.ext.dirs=/home/admin/acc/instrument/lib com.alipay.instrument.client.Instrument start
admin 14288 11.2 28.4 4572620 1167160 ? Sl 18:05 14:29 /opt/taobao/java/bin/java -server -Xms1700m -Xmx1700m -Xmn680m -Xss256k -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+UseStringCache
2.jstat -gcutil 14288 1000
3.注意
young gc是没问题的。
分享到:
相关推荐
JVM 调优总结 JVM 调优是一个复杂的过程,需要从多个角度进行考虑。...需要了解 JVM 的基本概念和原理,了解 Java 应用程序的运行环境和配置,并使用各种命令和工具来观察和分析 JVM 的运行情况。
通过`java -XmxXXXXM -version`命令可以测试JVM的最大可用内存。 对象的生命周期与鱼的生长周期相比较,JVM利用不同的内存区域——年轻代、老年代和持久代,来适应不同生命周期的对象。年轻代主要用于存放新生的...
- 分析`share-jvm`中的代码,可以观察不同类型的变量如何分配在内存的不同区域。 2. **JVM参数设置** - 调整JVM内存大小(如`-Xms`和`-Xmx`),优化程序性能。 - 设置堆转储文件(`-XX:+...
当执行这个命令时,会观察到JRE的Java Runtime Environment如何加载`ClassLoaderTest`类,然后加载`TestClassA`类的过程。 ##### 示例2:显式加载过程 ```java public class CLTest { public static void main...
JDK 中就自带了很多命令工具可以监测到 JVM 的内存分配以及使用情况。JDK 工具之 jstat 命令可以监测 Java 应用程序的实时运行情况,包括堆内存信息以及垃圾回收信息。 jstat 命令可以查看一些关键参数信息,例如-...
通过这种方式,我们可以观察到字节码文件的结构,它包含了常量池、方法、属性等信息。 字节码文件中包含的信息不仅仅是源代码的简单映射,还包括了编译器生成的许多附加信息,用于在运行时支持类的加载、链接和执行...
2. **准备**:确定你要分析的JVM进程ID,可以通过`jps`命令查看。 3. **启动**:运行`async-profiler -d [duration] -e cpu -p [pid] start`开始采样,其中`[duration]`是你想要采样的时间(如10s),`[pid]`是JVM...
首先,我们需要了解JVM的启动参数,这些参数在Java程序启动时通过`java`命令传递。例如,`-Xms`和`-Xmx`用于设置JVM堆内存的初始大小和最大大小,这对于控制程序的内存消耗至关重要。`-XX:NewRatio`可以调整新生代与...
JRockit还提供了更细致的功能用以观察JVM的运行状态,主要是独立的GUI控制台(只能适用于使用Jrockit才能使用jrockit81sp1_141_03自带的console监控一些cpu及memory参数)或者WebLogic Server控制台。 Bea JRockit ...
通常需要多次抓取(建议至少三次),每次间隔10-20秒,以观察线程状态的变化。 - **操作系统命令获取**: - **Windows**:通过按`Control + Break`组合键获取线程堆栈,并将其复制到文件中。 - **UNIX/Linux**:...
4. jmap命令用于观察运行中的JVM物理内存的占用情况。它能打印出每个class的实例数目、内存占用和类全名信息。此外,jmap命令还可以将Java进程的内存heap输出到文件,或者导出heapdump文件。例如,`jmap -dump:...
当应用出现性能问题或异常时,可以使用`jmap`命令来dump出JVM的堆栈信息,命令格式通常为 `jmap -dump:format=b,file=<dump_file> <pid>`,其中`<pid>`是Java进程的ID,`<dump_file>`是生成的dump文件名。...
而在safepoint日志中,我们可以观察到vmop(虚拟机操作)的详细信息,特别是关注那些在“block”阶段消耗时间较长的部分,如下所示: ```bash $ cat safepoint.log | awk '/vmop/{title=$0;getline;if($(NF-2)+$(NF-...
2. `java`:这个命令用于运行Java应用程序,它可以加载类、解析字节码并执行程序。 3. `javadoc`:生成关于Java源代码的API文档,帮助开发者理解和使用代码库。 4. `jps`:显示正在运行的Java进程ID,便于监控和管理...
行为型模式包括策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式等。 四、 JDK7和JDK8的区别 JDK7和JDK8之间的主要区别在于JDK...
通过观察这些指标,开发者可以判断是否存在内存泄漏、垃圾收集是否过于频繁等问题,并据此调整JVM的内存配置和垃圾收集策略。 例如,如果发现年轻代的垃圾回收(YGC)次数频繁,可能意味着对象生命周期短,需要增大...
- `vm`: 查看JVM相关信息,如内存、线程等。 - `print`: 打印变量或表达式的值,实时查看运行时状态。 5. **使用Xmind文件** 提供的ArtHas.xmind文件很可能包含了Arthas常用命令的思维导图,这对于理解和记忆...
- 行为型模式(责任链、命令、解释器、迭代器、备忘录、观察者、状态、策略、模板方法、访问者)。 掌握以上这些Java核心知识点,不仅能够应对面试,也能为实际项目开发提供坚实基础。不断学习和实践,才能在Java...