btrace 常见问题
执行btrace命令报错:Unable to open socket file: target process not responding or HotSpot VM not loaded
-------------------------------------------------------------------------------------------
-bash-4.1# /apps/svr/jdk7/bin/jstack/jps -l
32382 sun.tools.jps.Jps
20150 com.sun.btrace.client.Main
-------------------------------------------------------------------------------------------
-bash-4.1# /apps/svr/jdk7/bin/jstack -l 284
284: Unable to open socket file: target process not responding or HotSpot VM not loaded
-------------------------------------------------------------------------------------------
-bash-4.1# /apps/svr/jdk7/bin/jstack -J-d64 -m 284
Attaching to process ID 284, please wait...
Error attaching to process: sun.jvm.hotspot.debugger.DebuggerException: Can't attach to the process
-------------------------------------------------------------------------------------------
jstack报错:Unable to open socket file。是因为这个java进程的pid文件删除了
-bash-4.1# sudo -u root /apps/svr/jdk7/bin/jstack 284
284: Unable to open socket file: target process not responding or HotSpot VM not loaded
The -F option can be used when the target process is not responding
-------------------------------------------------------------------------------------------
linux操作系统为了防止/tmp目录文件过多,有个删除管理机制:tmpwatch
-bash-4.1# cat /etc/cron.daily/tmpwatch
#! /bin/sh
flags=-umc
/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix \
-x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix \
-X '/tmp/hsperfdata_*' 10d /tmp
/usr/sbin/tmpwatch "$flags" 30d /var/tmp
for d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do
if [ -d "$d" ]; then
/usr/sbin/tmpwatch "$flags" -f 30d "$d"
fi
done
-------------------------------------------------------------------------------------------
高版本jps、jstack不能工作原因:
这是一个从Java 6 update 21 引入的bug sunbug 7009828,在Java 6 update 25修复。
具体原因是: jdk16_21/24开始,jvm启动时产生进程号的临时文件目录优先使用-Djava.io.tmpdir指定的目录,没有指定-Djava.io.tmpdir参数才使用/tmp/hsperfdata_$USER。
正好tomcat指定了-Djava.io.tmpdir=${tomcat_home}/tmp/。而jps、jstack从/tmp/hsperfdata_$USER目录读取不到pid信息,所以才报错。
原因二:
因为目标进程是另一个用户启动的,所以用root用户就jmap不了,换启动进程的那个用户就行了
第2次如果再次用root用户输入这个命令,会报另一个错误:well-known file is not secure
原因也是一样,目标进程是哪个用户启动的,就要用哪个用户来执行jmap命令 。
查看端口:
netstat -nlp | grep 2020
-------------------------------------------------------------------------------------------
sshpass -p pwd ssh -o StrictHostKeyChecking=no -p 22 root@127.0.0.1 nohup /btrace/bin/btrace -p 2020 -cp fastjson.jar 28541 CodeTrace.java >> /home/btrace/20170811.log &
当另外一个用户执行脚本会报:well-known file is not secure,文件可能会僵死,不能写入文件,btrace进程也不能启动,这个问题造成我查了半天的时间。
原因解析:
/home/btrace/20170811.log 文件是root用户创建的,然后用app用户执行命令输出该文件,会导致命令无法启动,且没有任何错误日志。
-------------------------------------------------------------------------------------------
使用java process 执行 sshpass ssh tail grep 命令,日志不能实时:
原因:由于tail -f 在尾部没有终止,所以数据可能仍在管道缓冲中。使用tail -f file | unbuffer -p grep keyword
上面如果tail -f /logs/* | unbuffer -p keyword 就会报201错误,可以改成如下:
tail -f file | grep --line-buffered my_pattern
-------------------------------------------------------------------------------------------
排查java oom问题:
统计下目前的线程数(例如ps -eLf | grep java -c),然后可以看看ulimit -u的限制值是多少,如线程数已经达到限制值,如限制值可调整,则可通过调整限制值来解决。
-------------------------------------------------------------------------------------------
java使用process执行ssh tail命令后,ssh连接断开后关闭远程开启的进程的方法:
ssh -t user@remote_host tail -f /some/file OR ssh -tt user@remote_host tail -f /some/file
How to terminate remotely called “tail -f” when connection is closed?
-------------------------------------------------------------------------------------------
btrace 常见问题的更多相关文章
- HBase工程师线上工作经验总结----HBase常见问题及分析
阅读本文可以带着下面问题:1.HBase遇到问题,可以从几方面解决问题?2.HBase个别请求为什么很慢?你认为是什么原因?3.客户端读写请求为什么大量出错?该从哪方面来分析?4.大量服务端excep ...
- (转)HBase工程师线上工作经验总结----HBase常见问题及分析
阅读本文可以带着下面问题:1.HBase遇到问题,可以从几方面解决问题?2.HBase个别请求为什么很慢?你认为是什么原因?3.客户端读写请求为什么大量出错?该从哪方面来分析?4.大量服务端excep ...
- Hadoop记录-hadoop集群常见问题汇总
[问题1]HBase Shell:ERROR: org.apache.hadoop.hbase.IPc.ServerNotRunningYetException: Server is not runn ...
- JAVA线上常见问题排查手段(小结)
在平时开发过程中,对于线上问题的排查以及系统的优化,免不了和Linux进行打交道.每逢大促和双十一,对系统的各种压测性能测试,优化都是非常大的一次考验.抽空整理了一下自己在线上问题排查以及系统优化的一 ...
- C++常见笔试面试要点以及常见问题
1. C++常见笔试面试要点: C++语言相关: (1) 虚函数(多态)的内部实现 (2) 智能指针用过哪些?shared_ptr和unique_ptr用的时候需要注意什么?shared_ptr的实现 ...
- SQL Server常见问题介绍及快速解决建议
前言 本文旨在帮助SQL Server数据库的使用人员了解常见的问题,及快速解决这些问题.这些问题是数据库的常规管理问题,对于很多对数据库没有深入了解的朋友提供一个大概的常见问题框架. 下面一些问题是 ...
- 【腾讯优测干货分享】如何降低App的待机内存(二)——规范测试流程及常见问题
本文来自于腾讯优测公众号(wxutest),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/806TiugiSJvFI7fH6eVA5w 作者:腾讯TMQ专项测 ...
- mysql数据库开发常见问题及优化
mysql 数据库是被广泛应用的关系型数据库,其体积小.支持多处理器.开源并免费的特性使其在 Internet 中小型网站中的使用率尤其高.在使用 mysql 的过程中不规范的 SQL 编写.非最优的 ...
- 《PDF.NE数据框架常见问题及解决方案-初》
<PDF.NE数据框架常见问题及解决方案-初> 1.新增数据库后,获取标识列的值: 解决方案: PDF.NET数据框架,已经为我们考略了很多,因为用PDF.NET进行数据的添加操作时 ...
随机推荐
- NYOJ 35 表达式求值(逆波兰式求值)
http://acm.nyist.net/JudgeOnline/problemset.php?typeid=4 NYOJ 35 表达式求值(逆波兰式求值) 逆波兰式式也称后缀表达式. 一般的表达式求 ...
- Thunder团队第三周 - Scrum会议5
Scrum会议5 小组名称:Thunder 项目名称:i阅app Scrum Master:苗威 工作照片: 参会成员: 王航:http://www.cnblogs.com/wangh013/ 李传康 ...
- HDU 3333 Turing Tree 线段树+离线处理
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3333 Turing Tree Time Limit: 6000/3000 MS (Java/Othe ...
- 【APS.NET Core】- Json配置文件的读取
在项目目录下有个 appsettings.json ,我们先来操作这个文件.在appsettings.json中添加以下内容: { "Logging": { "LogLe ...
- phpmyadmin打开空白
本地phpstudy环境,打开 phpmyadmin,登陆之后,显示空白页面. 解决办法:切换为 低版本的php版本,正常登陆.
- MVP开发模式的理解
1.MVP是什么 如果从层次关系来讲,MVP属于Presentation层的设计模式.对于一个UI模块来说,它的所有功能被分割为三个部分,分别通过Model.View和Presenter来承载.Mod ...
- [C/C++] C++模板定义格式
函数模板的格式: template <class 形参名,class 形参名,......> 返回类型 函数名(参数列表) { //函数体 } 类模板的格式为: template<c ...
- 协程简介-异步IO
协程 1. 协程,又称微线程,纤程.协程是用户自己控制的,CPU根本不知道协程的存在,CPU只认识线程. 2. 线程切换的时候,会保存在CPU的寄存器里面. 协程切换的时候,却都是由用户自己的实现的. ...
- 玩(lay) 解题报告
玩(lay) 题目名称 你的昆特牌打的太好啦!不一会你就 \(\tt{AK}\) 了 \(\tt{NOGP}\),只能无聊地堆牌玩! 题目描述 你有一些矩形卡牌,每次你会作如下三个操作: 紧挨着最后一 ...
- CodeForces.5A Chat Server's Outgoing Traffic
Chat Server's Outgoing Traffic 点我挑战提目 考察点 模拟 字符串 Time Mem Len Lang 30 0 543 c++ 题意分析 给出类似一个群的即时通讯系统, ...