判定是否需要加机器要结合top命令中的load average和cpu使用率率来看,不是很高时就要考虑内部程序优化参见
查看机器内存:cat /proc/meminfo |grep MemTotal|awk '{print int($2/1048756+0.5)}'
查看cpu核数:grep ‘model name’ /proc/cpuinfo | wc -l
统计连接数:
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
查看某个进程下的线程数:cat /proc/进程号/status
查看某个进程下所有线程的情况:ps p 4941 -L -o pcpu,pid,tid,time,tname,cmd 或者(top -Hp pid)
这里看到的线程id需要转换成16进制才能配合jstack使用,16进制查询 printf “%x\n” 3046,再利用得到的字符串用jstack 21711 | grep 54ee 查询对应的线程信息
查看Linux系统限制:ulimit -a
将文件从docker里面复制到容器外面:sudo docker cp d96b8c6f3f03:/opt/taobao/java/bin/tem.dump /opt/
JVM调优
最新推荐文章于 2024-07-22 17:00:00 发布
本文详细介绍了JVM调优的相关工具和指标,包括使用top命令评估机器性能,查看内存和CPU使用情况,通过netstat统计连接数,分析进程和线程的状态,以及利用jps、jstat、jinfo、jstack等JVM内置工具监控和诊断Java应用程序。此外,还探讨了线程上下文切换、堆栈与堆的区别以及内存管理的基本概念,如不同类型的引用。
摘要由CSDN通过智能技术生成