java设置jvm参数,我趟过的那些坑
来源:互联网 发布:java输出平行四边形 编辑:程序博客网 时间:2024/06/05 14:43
最近 读到一篇文章,介绍 后端服务压测的 https://mp.weixin.qq.com/s/XW9geHZ9odHdI7srDiKBIg
里面提到 gclog,刚好前端时间公司的app 总是出现out of memory 的错误,就想看看 gc日志,自己打印个了解下。这是前提。
目标:打印gc 日志(网上的都不靠谱··还有谁说google靠谱的··我昨晚整了三个小时)
好了··首先,平台有windows 和 linux,配置方式也有很多种
1、windows 下 平时开发 用 的是eclipse,在eclipse 中,可以配置tomcat,也可以直接配置jdk
配置jdk:
配置tomcat:
配置后,启动tomcat ,日志里能看到加载了配置
在日志中能看到,其实 在jdk中与 tomcat 中 配置是一样的,如果两个都配置了,就先加载 jdk的,然后是tomcat的配置。例如:jdk 里面日志是gc.log,tomcat 是gc1.log,那么
先加载jdk,Command line argument: -Xloggc:C:\11\gclog\gc.log,然后加载tomcat Command line argument: -Xloggc:C:\11\gclog\gc1.log,那么很明显,同样的参数被覆盖了,最后输出gc日志就是gc1.log
区别是 配置jdk针对所有 tomcat,配置tomcat 呢 就只针对这一个tomcat。
2、如果不在eclipse配置,就想在tomcat 里配置,用 start.bat 启动项目,那么就像网上说的,在catalina.bat 里面配置,坑来了!
配置方法网上说法不一,有的带引号,有的不带,也没说明tomcat版本等信息··总之是模模糊糊。配置了也不管用,浪费了我四个小时啊!!
经过我最后实践总结:
确实是配置 catalina.bat,但配置方法要参照 人家里面的写法,例如:
tomcat 7:
打开 catalina.bat,搜索 JAVA_OPTS,找到
196 行 是人家的本来的配置,那当然,照着 它干就行了呗··
tomcat 8:
tomcat 8 也一样
重要说明:有时候你发现 启动后 参数在启动日志里有,但是就是不生成gc.log ,那么··先检查配置的log 输出 路径,至少要有这个文件夹才行,比如
Command line argument: -Xloggc:C:\11\gclog\gc1.log ,就先把 C:\11\gclog 这个文件夹建好,文件会自动创建,但文件夹不会·······,还没有的话 可能还没有gc过··访问下tomcat页面试试。
3、linux 里面
linux 里面 也是照着人家原来的配置就行了,但我最开始也是怎么弄都不行,最后重启下··解决了。
tomcat 启动关闭时 会 清空重写log文件,那么 linux 里可以加上
$$来分开,它代表 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。windwos 上不晓得怎么搞··
其他就··没啥了
还有·· 也可以设置全局变量,类似eclipse下 设置jdk,windwos下可以 增加 环境变量,linux 下 修改 /etc/profile 。(没试过)
- java设置jvm参数,我趟过的那些坑
- 那些年我踩过的坑——Java
- 那些年我踩过的坑
- 我踩过的听过的那些坑
- 设置java jvm参数
- 使用过的jvm参数
- 那些年,我写过的面向对象 (Java)
- 那些年挖过的Java坑
- 那些年挖过的Java坑
- 学习java踩过的那些坑
- 那些年我踩过的坑(持续更新)
- 码农之记录那些我踩过的坑
- 记录生命中坑过我的那些人
- 我所用过的那些电脑
- 我用过的那些dos命令
- 那些年我准备过的cfa
- 致那些我工作过的设备
- 那些年我追过的android
- 安卓拍照并裁剪
- 各大公司Java后端开发面试题总结
- Maven详解
- 【XML】树结构
- php字符串函数
- java设置jvm参数,我趟过的那些坑
- 蓝桥杯-土地测量
- IntelliJ IDEA(或者JetBrains PyCharm)中弹出“IntelliJ IDEA License Activation”时怎么办
- 单根继承
- docker rm 命令 删除容器与数据卷
- Spring Framework 5 中的新特性
- springmvc实现日期类型前后端转换
- python
- 云计算如何运用在政府行业--解决方案