linux java性能分析工具_Java性能调优工具(Linux)

为了能准确获得程序的性能信息,需要使用各种辅助工具。以下主要介绍了Linux上关于Java的系统性能分析工具,掌握这些工具,对于性能瓶颈定位、系统故障排查都有帮助。

1、top命令

1 [root@localhost ~]#top

2 top - 10:00:05 up 4 days, 22:16, 1 user, load average: 0.00, 0.01, 0.05

3 Tasks: 211 total, 1 running, 210 sleeping, 0 stopped, 0zombie4 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%st5 Mem: 8064684k total, 3277888k used, 4786796k free, 202912k buffers6 Swap: 8142844k total, 0k used, 8142844k free, 2503844k cached7

8 PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+COMMAND9 18730 root 20 0 15196 1220 840 R 0.3 0.0 0:00.06top10 1 root 20 0 19408 1576 1252 S 0.0 0.0 0:00.87init11 2 root 20 0 0 0 0 S 0.0 0.0 0:00.08kthreadd12 3 root 20 0 0 0 0 S 0.0 0.0 0:00.31 ksoftirqd/0

13 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H14 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, 0zombie

进程统计信息:

211 total

1 running

210 sleeping

0 stopped

0zombie

进程总数

正在运行的进程数

睡眠的进程数

停止的进程数

僵尸进程数

第三行: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命令

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值