这个月花了一段时间看完了徐加帅老师的课程,还是不错的,有一些方法很实用,做个整理
支持徐老师,请查看:https://coding.imooc.com/class/241.html
一般我们启动一个jar包使用的都是java -jar xxx.jar 就可以了
其实在java启动的时候后面是可以加很多的参数的
java启动的命令后面的参数一共可以分为3种
1.标准参数
2.x参数
3.xx参数
以x参数举例
输入命令
java -version
可以看到是混合模式
如果是
java -Xcomp -version
这个时候就是编译模式了
xx参数比较的多,功能也相对不稳定,这些命令主要用来调优用的
以最常用的举例
-Xmx =-XX:InitialHeapSize
-Xms=-XX:MaxHeapSize
最大内存,最小参数 是xx参数
设置最大内存和最小内存的参数,就是典型的xx参数
这些参数可以指定java 运行时堆区的运行空间的大小
比如
java -Xms32M -Xmx32M -version
就制定了运行是最大最小内存是32M
对于运行中的程序可以这样查看他的最大内存
首先
jps -l
这个命令可以观察到正在运行的java 的程序
这个和ps -ef 的效果是一样的,java 很贴心的帮我们做好了
以阿里云的服务器为例,我在上面跑了一个springboot 的应用
要查看这个springboot 程序的最大内存,输入
jinfo -flag MaxHeapSize 28687
可以看到结果是482344960字节
转换一下就是 0.4492188GB 差不读半个G
这个大小是jvm根据操作系统 和内存等 综合考量分配的结果
当然想弄大一点或者小一点也是可以的,重新运行jar
java -Xms800M -Xmx800M -jar xxxx.jar
这个时候进程id 会变,再次查看一下,看下结果
838860800字节 ,正好800M