linux系统中JVM调优监控的常用指令

前言

  • 当服务器中CPU或内存负载过大,Java工程师就需要对其监控和定位,是线程死锁了还是内存溢出等等问题。
  • 本篇文章记录一些关于在Linux系统中查看CPU、进程/线程、jvm堆栈信息等指令,方便后续查阅。

top

  • top是Linux系统中常用于看CPU、进程、内存运行指标的命令:
[root@localhost data/project]$ top
top - 11:17:42 up 177 days, 19:34,  6 users,  load average: 6.58, 10.04, 9.68
Tasks: 145 total,   1 running, 144 sleeping,   0 stopped,   0 zombie
%Cpu(s): 19.2 us, 10.0 sy,  0.0 ni, 70.5 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem : 32780448 total,  4776344 free, 26326688 used,  1677416 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  5989168 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                                     
12241 root      20   0 8525184   1.8g  14780 S  46.0  5.8   1124:54 java      
......
  • 第一行系统参数: 11:17:42:系统当前时间 up 177 days, 19:34:系统的运行时间 6 users:系统的登录用户数 load average: 6.58, 10.04, 9.68:系统内1分钟、5分钟、15分钟的平均负载
  • 第二行进程参数: 系统当前总进程145个 其中1个运行状态 144个睡眠状态 0个暂停状态 0个zombie僵尸状态
  • 第三行CPU参数: us:用户态CPU占比19.2 sy:内核态CPU占比10.0 ni:改变nice进程的CPU占比0.0 id:空闲CPU占比70.5 wa:等待IO的CPU占比0.0 hi:硬中断CPU占比0.0 si:软中断CPU占比0.3 st:当前虚拟机中被其他虚拟机占用CPU占比0.0
  • 注:在多CPU服务器中,默认展示所有CPU的平均值,按1可展示每个CPU的占比。
[root@localhost data/project]$ top
top - 11:17:42 up 177 days, 19:34,  6 users,  load average: 6.58, 10.04, 9.68
Tasks: 145 total,   1 running, 144 sleeping,   0 stopped,   0 zombie
%Cpu0  : 21.6 us, 12.2 sy,  0.0 ni, 65.9 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
%Cpu1  : 20.5 us,  9.6 sy,  0.0 ni, 69.6 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
%Cpu2  : 25.6 us, 10.2 sy,  0.0 ni, 63.8 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
%Cpu3  : 20.0 us,  8.6 sy,  0.0 ni, 71.0 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st  
......
  • 第四/五行物理内存和磁盘内存参数: total:内存总量32780448k free:空闲内存4776344k used:占用内存26326688k buff/cache:系统缓存/page cache占用1677416k avail Mem:虚拟内存5989168k
  • 注:系统优先使用物理内存,当物理内存不足就会使用磁盘内存,一般情况尽量使用物理内存以提升性能。
  • 第六行进程详细参数: PID:进程id USER:操作用户 PR:进程优先级 NI:进程的nice值 VIRT:进程所占用的虚拟内存大小 RES:进程所占用的物理内存大小 SHR:进程所占用的共享内存大小 S:进程状态:R=Running,S=interruptible sleeping,D=uninterruptible sleeping,T=Stopped,Z=zombie %CPU:进程CPU占用比 %MEM:进程物理内存占用比 TIME+:进程使用后占用CPU累计时间 COMMAND:进程的运行命令
  • 注:输入大写P可以对CPU占用率进行排序,输入大写M可以对物理内存占用比排序,输入大写H可以显示进程的线程信息
  • 注:top -c 命令可以打印进程的完整运行命令
[root@localhost data/project]$ top -c
top - 14:05:54 up 177 days, 22:22,  6 users,  load average: 9.02, 7.19, 6.26
Tasks: 146 total,   2 running, 144 sleeping,   0 stopped,   0 zombie
%Cpu(s): 24.2 us, 10.6 sy,  0.0 ni, 64.8 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
KiB Mem : 32780448 total,  3990592 free, 26324892 used,  2464964 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  5981456 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                                     
12241 root      20   0 8525184   1.8g  14780 S  45.0  5.9   1201:04 java -Xmx2024m -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -jar java-demo.jar                                                                                                          
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.71 [kthreadd]                                                                                                                                                                  
    3 root      20   0       0      0  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值