2020-12-19

常用指令

  1. 查看java版本:java -version
    在这里插入图片描述
    此处用的是java 1.8
  2. 查看所用的垃圾回收器:java -XX:PrintCommandLineFlags -version
    在这里插入图片描述
    第一行最后就是所用的垃圾回收器。此处用的是Parallel Scverage+Parallel Old
    其他的如:
    -XX:+UserSerialGC = Serial new + Serial old
    -XX:+UserParNewGC = ParNew + Serial old
    -XX:+UseConcMarkSweepGc = ParNew + CMS + Serial Old(此处serial old是给CMS兜底的)
    -XX:+UseG1GC = G1
    其他的不常用的就不列举了
  3. jps:显示当前系统的java进程情况及进程id。也可用ps命令
    在这里插入图片描述
    可以看到有三个java进程
  4. jinfo:打印出对应的java程序的信息
  5. jstat -gc 进程号:打印出某java进程的堆信息。是静态的
    在这里插入图片描述
    也可动态输出。jstat -gc 进程号 时间
    在这里插入图片描述
    此处为每隔1000毫秒打印一次堆信息
  6. top(得到CPU占用最大的进程ID) -> top -Hp 进程号(找到占用CPU最大的线程) -> jstack命令(查看线程对应的线程栈)
    在这里插入图片描述
    注意此处的 -u tomcat 。grep后面的线程ID是16进制的,但是top -Hp 进程号 出来的是10进制的。可用printf “%x\n” 数字
  7. 图形化的:jvisualVm。 oracle自带的。(生产环境不要用哈,压测的时候可以用)
    在这里插入图片描述
    如上图
  8. arthas:很牛皮的一个工具。安装和使用可以网上找

GC常用参数

  1. -Xmn:新生代 , -Xms:最小堆,-Xmx:最大堆,-Xss:栈空间
  2. -XX:+UseTLAB:是否使用TLAB,默认是打开的(Thread local allocation buffer)。对于每一个线程,jvm都会在Eden区分配一个专属的区域。当专属区域满了后才会和别的线程一起争夺公共区域。
  3. -XX:+PringTLAB:打印TLAB的使用情况
  4. -XX:TLABSize:设置TLAB的大小
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值