JVM(Java虛擬機)
簡單介紹一下JVM,JVM本質上是一個程序,用來執行字節碼文件(.class)
JVM的參數查看
https://www.jianshu.com/p/c6a04c88900a
在控制台輸入 jps 打印當前運行的虛擬機進程
//監視虛擬機運行狀態
jstat -<option> <pid>
//生產堆存儲快照
jmap -<option> <pid>
//生產線程快照
jstack -<option> <pid>
JVM各參數含義
https://segmentfault.com/a/1190000010603813
-Xms:設置最小堆值(初始堆內存大小,空間不足時再向系統申請擴容)
-Xmx:設置最大堆值
-Xmn:設置年輕代值(設置它等於最小值和最大值相同)
-XX:NewSize:設置年輕代最小值
-XX:MaxNewSize:設置年輕代最大值
-Xss:設置線程棧值大小
-XX:PermSize:設置永久代最小值
-XX:MaxPermSize:設置永久代最大值
-XX:SuriviorRatio:設置年輕代中Eden與s0的比例
-XX:NewRatio:設置老年代與年輕代的比例。
-XX:MinHeapFreeRatio:設置堆空間最小空閑比例。當堆空間的空閑比例小於這個數值時,JVM變主動申請內存空間。
-XX:MaxHeapFreeRation:設置堆空間最大空閑比例。當堆空間的空閑比例大於這個數值時,JVM會壓縮堆空間,得到一個較小的堆空間。
-XX:TargetSuriviorRatio:設置surivior空間使用率,當surivior空間使用率達到這個數值時,會將對應的對象送入老年代。