grep检索关键字的命令_linux系统中java线上问题常用排查命令

查询java线程占用的资源

1、ps -aux | grep java或者 jps 命令,找出java进程的pid 1564。

32869625aba417c228e32f22abf18558.png

2、top -H -p 1564 查看进程下的线程资源占用情况

d35f95a4a81fc1b4dfa38e35f7f9f456.png

3、jstack 1564 查看进程号1564下的线程信息。

8c5b5cee5d8f19fc32ef7fd4cb65138e.png

4、步骤2中的PID是线程ID(十进制),步骤3中的nid也是线程ID(十六进制)。通过进制转换,我们就可以知道某个线程所占用的资源和线程信息。

4febef8ed3f2a199031f455908463f1c.png

生成堆存储快照

1、jmap -heap 1564 查看堆(heap)使用情况

b026bff59fd4979906202c3a18ed44a2.png

2、jmap -histo 1564/jmap -histo:live(先触发gc,再统计) 1564 查看堆内存中的对象数量及大小。

3、jmap -dump:format=b,file=heapDump 1564 将内存使用的详细信息输出到文件,再用其他工具(Eclipse Memory Analyzer、IBM HeapAnalyzer)分析。

根据关键字查找日志

1、grep -num/-c num "关键字" 打印匹配关键字的前后num行。

  • -A 表示关键字之后,After
  • -B 表示关键字之前,Before
  • -C 表示关键字前后,Context
31d8017ea0986bccc9c6000084525339.png

2、sort -k2n * .log | uniq > *.out 去除重复的行。

3、cat * .log |grep -B 2 "关键字1" |grep -B 2 "关键字2" 。查询含有字符串"关键字1*****关键字2"的信息。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值