解决docker进程id为1不能使用jstack和arthas


默认docker启动进程为1

/usr/lib/jvm/java-1.8-openjdk/bin # ./jstack 1
1: Unable to get pid of LinuxThreads manager thread

解决办法:

使用/bin/sh -c把命令写入sh文件,然后启动sh

比如:

/bin/sh -c
echo java -jar -server -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/proxy-gc.heap -Djava.security.egd=file:/dev/./urandom -Dspring.profiles.active=dev -Xmx2G -Xms2G ./app.jar >start.sh && chmod 750 start.sh && ./start.sh

这样,java进程就不为1了。

可以随意使用java命令和工具。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM