linux系统负载以及JVM诊断常用命令

一些基本命令备忘

  • 查看端口号被占用情况:

    fuser -n tcp <port>
    
  • 查看所有进程,以及cpu,内存占用:

    ps aux <pid>
    
  • 查看机器内存用量以及剩余:

    free -m
    
  • 查看指定进程内, 线程资源占用情况:

    top -Hp <pid>
    
  • 转换10进制nid为16进制:

    printf "%x\n" <nid>
    
  • heap dump:

    jmap -dump:live,format=b,file=heap.bin <pid>
    
  • 当堆太大导出速度慢时使用gdb来导出:

    https://www.atlassian.com/blog/archives/so-you-want-your-jvms-heap
    
  • java堆统计实例数量,大小:

    jmap -histo:live <pid> | head -100
    
  • java栈快照:

    jstack -l <pid>
    
  • 查看GC状态:

    jstat -gcutil <pid> 1000
    
  • 文件目录大小排序显示:

    du -m -d 1 | sort -k1 -n -t' '
    
  • 磁盘剩余容量:

    df