zoukankan      html  css  js  c++  java
  • Jvm内存调优常用命令

    从以下5个角度进行排查

       1.CPU ——  vmstat -n 2 3 命令

      2.内存 ——  free -m命令

      3.硬盘 ——  df -h命令

      4.磁盘Io ——  iostat -xdk 2 3命令

      5.网络Io —— ifstat命令

     

    Jvm常用命令总结

    一.CPU

    1.查看cpu (每2s打印10次)

    vmstat -n 2(秒) 10(次)

    r:运行和等待进程数

    b:阻塞进程数

    r+b 如果大于系统的核数2倍表示性能降低

    us:用户消耗进程百分比   长期大于50,需要调优

    sy:系统消耗进程百分比

    us+sy 超过80,表示cpu不足

    2.查看所有cpu核信息
    mpstat -P All 2(每秒)

    3.查看单个进程cpu信息

    pidstat -u 1(秒) -p pid

    pidstat -p pid -r 2(秒)

    4.查询线程数(可以查看当前java的线程数)

    cat  /proc/pid/status

    二.进程

    1.获取进程的pid
    ps -ef | grep 项目名称

     

    2.查看最耗费进程的cpu pid(进程ID)
    ps -Lfp pid或者ps -mp pid -o THREAD, tid, time或者top -Hp pid

     

    3.打印CPU时间最长的线程
    printf "%x " 线程ID 返回线程的十六进制值

     

    4.输出进程堆栈信息
    jstack pid | grep 线程十六进制值

    三.内存

    1.进程堆内存使用情况,包括使用的GC算法、堆配置参数和各代中堆内存使用情况
    jmap -heap pid

    2.查看包路径下存活的对象

    jmap -histo:live pid|grep com.xxx.xxx.xx

     

    3.查看堆内存部分使用量
    jstat -gcutil pid 1000

     

    4.导出 内存快照
    jmap -dump:format=b,file=/tmp/heap.hprof pid

    四.磁盘

    磁盘分布查看(大批量的表存储查询会导致i/o不足)

    iostat -xdk 2(秒) 3(次)

    await   i/o平均等待时间 值越小越好

    svctm  i/o平均服务时间

    await > svctm 表示i/o等待时长,需优化

    %util  1s中百分之几时间用于i/o操作,接近100 表示磁盘带宽跑满

    查找占用IO最高的程序

    ps -e -L h o state,cmd | awk '{if($1=="R"||$1=="D"){print $0}}' | sort | uniq -c | sort -k 1nr

    五.网络

    ifstat   查看网口的网络情况

    查看网络IO情况 

    sar -n DEV 1 10

    查看某个ip地址Socket链接数

    netstat -nalp |grep ip地址 |wc -l

    抓包

    tcpdump -i eth0(网口) -w xxx.pcap &  

    六.文件

    查看当前进程id的 文件操作状况

    lsof -p pid | wc -l 

    查看每个用户允许打开的最大文件数

    ulimit -a 

    设置用户允许打开最大数

    ulimit -n 4096

  • 相关阅读:
    软件设计的哲学:第十七章 一致性
    软件设计的哲学:第十六章 修改现有代码
    软件设计的哲学: 第十五章 先写注释
    软件设计的哲学:第十四章 选个好名字
    软件设计的哲学:第十三章 注释应该描述代码中隐藏的内容
    软件设计的哲学:第二十章 为什么要写注释
    软件设计的哲学:第十一章 两次设计
    软件设计的哲学: 第十章 定义不存在错误
    软件设计的哲学: 第九章 合并还是分解
    软件设计的哲学:第八章 降低复杂性
  • 原文地址:https://www.cnblogs.com/shawn-sun/p/13970396.html
Copyright © 2011-2022 走看看