Java性能调优工具(Linux)
为了能准确获得程序的性能信息,需要使用各种辅助工具。以下主要介绍了Linux上关于Java的系统性能分析工具,掌握这些工具,对于性能瓶颈定位、系统故障排查都有帮助。
1、top命令
[root@localhost ~]# top
top - 10:00:05 up 4 days, 22:16, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 211 total, 1 running, 210 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 8064684k total, 3277888k used, 4786796k free, 202912k buffers
Swap: 8142844k total, 0k used, 8142844k free, 2503844k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18730 root 20 0 15196 1220 840 R 0.3 0.0 0:00.06 top
1 root 20 0 19408 1576 1252 S 0.0 0.0 0:00.87 init
2 root 20 0 0 0 0 S 0.0 0.0 0:00.08 kthreadd
3 root 20 0 0 0 0 S 0.0 0.0 0:00.31 ksoftirqd/0
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
7 root RT 0 0 0 0 S 0.0 0.0 0:00.03 migration/
【释义】
第一行:top - 10:00:05 up 4 days, 22:16, 1 user, load average: 0.00, 0.01, 0.05
任务队列信息:与uptime命令执行结果一样。
| 10:00:05 | up 4 days, 22:16 | 1 user | load average: 0.00, 0.01, 0.05 |
| 当前系统时间 | 系统运行时间,格式为时:分 | 当前登录用户数 |
系统负载,即任务队列的平均长度。 三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。 |
第二行:Tasks: 211 total, 1 running, 210 sleeping, 0 stopped, 0 zombie
进程统计信息:
| 211 total | 1 running | 210 sleeping | 0 stopped | 0 zombie |
| 进程总数 | 正在运行的进程数 | 睡眠的进程数 | 停止的进程数 |
僵尸进程数 |
第三行:Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
CPU统计信息:
| 0.0%us | 0.0%sy | 0.0%ni | 100.0%id | 0.0%wa | 0.0%hi | 0.0%si | 0.0%st |
| 用户空间CPU占用率 | 内核空间CPU占用率 | 用户进程空间内改变过优先级的进程CPU占用率 | 空闲CPU占用率 | 等待输入输出的CPU时间百分比 | 硬件中断请求 | 软件中断请求 | Steal Time |
第四、五行:Mem: 8064684k total, 3277888k used, 4786796k free, 202912k buffers
Swap: 8142844k total, 0k used, 8142844k free, 2503844k cached
内存信息:
| Mem | 8064684k total | 3277888k used | 4786796k free | 202912k buffers |
| 物理内存总量 | 已使用的物理内存 | 空闲物理内存 | 内核缓存使用量 | |
| Swap | 8142844k total | 0k used | 8142844k free | 2503844k cached |
| 交换区总量 | 使用的交换区总量 | 空闲交换区大小 | 缓存交换区大小 |
第六行:PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
进程信息:
| PID | USER | PR | NI | VIRT | RES |
|
进程id |
进程所有者的用户id | 优先级 | nice值。负值表示高优先级,正值表示低优先级 | 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
|
SHR |
S | %CPU | %MEM | TIME+ | COMMAND |
| 共享内存大小,单位kb | 进程状态。 D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程 |
上次更新到现在的CPU时间占用百分比 | 进程使用的物理内存百分比 | 进程使用的CPU时间总计,单位1/100秒 | 命令名/命令行 |
还有其他的一些参数,这里没有列出,了解请查看《Java程序性能优化-让你的Java程序更快、更稳定》这本书的第300页。
另外,top命令还有一些比较使用的交互命令:
| f | o | h | k | q | c | M | P | T | 数字1 |
| 可以进行列的选择 | 可以更改列的显示顺序 | 显示帮组信息 | 终止一个进程 | 退出程序 | 切换显示命令名称和完整命令行 | 根据驻留内存大小进行排序 | 根据CPU使用百分比大小进行排序 | 根据时间/累积时间进行排序 | 显示所有CPU负载情况 |
注意:使用top命令可以从宏观上观察系统各个进程对CPU的占用情况以及内存使用情况
2、sar命令
3、vmstat命令
4、iostat命令
5、pidstat命令
Java性能调优工具(Linux)的更多相关文章
- 第六章 Java性能调优工具(待续)
Java性能调优工具 Windows工具 JDK命令行工具 JConsole工具 Visual VM多合一工具 Visual VM对QQL的支持 MAT内存分析工具 MAT对QQL的支持 JProfi ...
- java性能调优工具
windows调优工具: 任务管理器(ctrl+alt+delete或).资源管理器(任务管理器->性能进入或运行resmon.exe):JVM分析工具Jconsole,jProfile,Vis ...
- 《Java性能权威指南》笔记----Java性能调优工具
OS 1.CPU 用户态时间(us):cpu执行应用代码所占时间的百分比. 内核态时间(sy):cpu执行内核代码所占时间的百分比,系统态时间与应用相关. 空闲时间(id):cpu空闲时间百分比.空闲 ...
- Java 性能调优工具
CPU使用率工具: vmstat 检查应用性能时,应该首先审查CPU时间.代码优化的目的是提升而不是降低(更短时间段内的)CPU的使用率.在试图深入优化应用前,应该先弄清楚为何CPU使用率低.磁盘使用 ...
- 【Java/Android性能优2】Android性能调优工具TraceView介绍
本文参考:http://www.trinea.cn/android/android-traceview/ Android自带的TraceView堪比java的性能调优工具visualvm线程视图,可以 ...
- 转载linux性能调优工具
Linux 大牛,Netflix 高级性能架构师 Brendan Gregg 更新 Linux 性能调优工具,各种资源应有尽有,大量干货,强烈建议收藏.
- linux 性能调优工具参考 (linux performance tools)
之前发现几张图对于linux使用者有着较强的参考意义,下面对其进行简单备忘: # linux 静态信息查看工具 # linux 性能测试工具 benchmark # linux 性能观测工具 # li ...
- JVM性能调优监控工具专题一:JVM自带性能调优工具(jps,jstack,jmap,jhat,jstat,hprof)
性能分析工具jstatjmapjhatjstack 前提概要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps.jsta ...
- jvm 性能调优工具之 jps 命令详解
JPS名称:jps - Java Virtual Machine Process Status Tool命令用法:jps [options] [hostid] options:命令选项,用来对输出格式 ...
随机推荐
- Educational Codeforces Round 16 D. Two Arithmetic Progressions (不互质中国剩余定理)
Two Arithmetic Progressions 题目链接: http://codeforces.com/contest/710/problem/D Description You are gi ...
- 【30分钟学完】canvas动画|游戏基础(2):从零开始画画
前言 上篇主要是理论的概述,本篇会多些实践,来讲讲canvas的基础用法,并包含一些基础三角函数的应用,推荐没有canvas基础的朋友阅读,熟悉的朋友可以跳过. 本人能力有限,欢迎牛人共同讨论,批评指 ...
- WebPack Task Runner
https://marketplace.visualstudio.com/items?itemName=MadsKristensen.WebPackTaskRunner New to WebPack? ...
- fedora23禁用不需要的服务?--systemd服务单元?
sign up: 签约; 登记, 注册. i'll sign up and go to the front and fight. he persuaded the company to sign up ...
- (转) intellij idea部署web项目时的位置(Tomcat)
这篇文章说的比较好: 原文地址:https://blog.csdn.net/zmx729618/article/details/78340566 1.当你项目启动的时候console能看到项目运行的位 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_08 Map集合_5_Entry键值对对象
- rac的一次问题 ORA-01565: error in identifying file '+DATA/bol/spfilebol.ora'
昨天安装的测试环境的rac--2节点 CentOS release 6.8 (Final) SQL*Plus: Release 11.2.0.4.0 Production 今天测试突然出现问题 在ra ...
- 16/7/8_PHP-设置cookie会话控制(session与cookie)
设置cookie PHP设置Cookie最常用的方法就是使用setcookie函数,setcookie具有7个可选参数,我们常用到的为前5个: name( Cookie名)可以通过$_COOKIE[' ...
- SoapUI学习之SOAP和REST的区别
一.Soap和Rest的定义 SOAP(Simple Object Access Protocol 简单对象访问协议),用于在Web Service中把远程调用和返回封装成机器可读的格式化数据,事实上 ...
- ceph部署问题解决
注意:1.ceph-deploy实用程序将输出文件到当前目录.执行ceph-deploy时确保你在这个目录下.2.不要使用sudo调用ceph-deploy,要么以root用户身份运行它,因为它不会发 ...