手動寫java OOM記憶體溢位 java.lang.OutOfMemoryError: GC overhead limit exceeded
package com.hcmony.test.memory;
import java.io.Serializable;
/**
* <h3>Shenjue.java基本描述</h3>
* <p></p>
*
* @author hcmony
* @since V1.0.0, 2018/09/04 14:43
*/
public class User implements Serializable{
private static final long serialVersionUID = 353900218049881029L;
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User(int id, String name) {
this.id = id;
this.name = name;
}
}
package com.hcmony.test.memory;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/**
* <h3>Shenjue.java基本描述</h3>
* <p>
* java.lang.OutOfMemoryError:GCoverheadlimitexceeded
* 【解釋】:JDK6新增錯誤型別,當GC為釋放很小空間佔用大量時間時丟擲;一般是因為堆太小,導致異常的原因,沒有足夠的記憶體。
* 【解決方案】:
* 1、檢視系統是否有使用大記憶體的程式碼或死迴圈;
* 2、通過新增JVM配置,來限制使用記憶體:
* -XX:-UseGCOverheadLimit
* </p>
*
* @author hcmony
* @since V1.0.0, 2018/09/04 14:42
*/
public class GcMemory {
private static List<User> userList = new ArrayList<User>();
public static void main(String[] args) {
while (true){
int i = 0 ;
User user = new User(i++, UUID.randomUUID().toString());
userList.add(user);
}
}
}
結果如下:
Connected to the target VM, address: '127.0.0.1:58216', transport: 'socket'
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.Arrays.copyOfRange(Arrays.java:3664)
at java.lang.String.<init>(String.java:201)
at java.lang.String.substring(String.java:1921)
at java.util.UUID.digits(UUID.java:386)
at java.util.UUID.toString(UUID.java:376)
at com.hcmony.test.memory.GcMemory.main(GcMemory.java:21)
Disconnected from the target VM, address: '127.0.0.1:58216', transport: 'socket'
Process finished with exit code 1
相關文章
- 手動寫java OOM記憶體溢位 java.lang.OutOfMemoryError: Java heap spaceJavaOOM記憶體溢位Error
- 【idea】編譯java專案時出現java.lang.OutOfMemoryError: GC overhead limit exceededIdea編譯JavaErrorGCMIT
- 手動寫java記憶體溢位 java.lang.OutOfMemoryError: PermGen spaceJava記憶體溢位Error
- 一次OutOfMemoryError: GC overhead limit exceededErrorGCMIT
- 手動寫java記憶體溢位 java.lang.StackOverflowErrorJava記憶體溢位Error
- Jmeter記憶體溢位:java.lang.OutOfMemoryError: Java heap space解決思路JMeter記憶體溢位JavaError
- Java棧溢位|記憶體洩漏|記憶體溢位Java記憶體溢位
- Java記憶體溢位Java記憶體溢位
- 模擬實戰排查堆記憶體溢位(java.lang.OutOfMemoryError: Java heap space)問題記憶體溢位JavaError
- 記憶體溢位記憶體溢位
- 異常、堆記憶體溢位、OOM的幾種情況記憶體溢位OOM
- 阿里大佬講解Java記憶體溢位示例(堆溢位、棧溢位)阿里Java記憶體溢位
- [Java基礎]記憶體洩漏和記憶體溢位Java記憶體溢位
- JAVA記憶體區域與記憶體溢位異常Java記憶體溢位
- java記憶體溢位和記憶體洩漏的區別Java記憶體溢位
- 記憶體溢位和記憶體洩露記憶體溢位記憶體洩露
- java 匯出 excel 最佳實踐,java 大檔案 excel 避免OOM(記憶體溢位) excel 工具框架JavaExcelOOM記憶體溢位框架
- JVM(2)-Java記憶體區域與記憶體溢位異常JVMJava記憶體溢位
- 【記憶體洩漏和記憶體溢位】JavaScript之深入淺出理解記憶體洩漏和記憶體溢位記憶體溢位JavaScript
- JVM——記憶體洩漏與記憶體溢位JVM記憶體溢位
- Java服務假死後續之記憶體溢位Java記憶體溢位
- Java記憶體溢位OutOfMemoryError的產生與排查Java記憶體溢位Error
- java向excel 寫入海量資料記憶體溢位問題 解決JavaExcel記憶體溢位
- JavaScript之記憶體溢位和記憶體洩漏JavaScript記憶體溢位
- Java EasyExcel 匯出報記憶體溢位如何解決JavaExcel記憶體溢位
- 直播平臺搭建,Java 記憶體溢位的排查方法Java記憶體溢位
- JVM學習-02-Java記憶體區域與記憶體溢位異常JVMJava記憶體溢位
- Java記憶體區域與記憶體溢位異常(JVM學習系列1)Java記憶體溢位JVM
- mybatis-plus getOne 記憶體溢位MyBatis記憶體溢位
- return new物件造成溢位記憶體物件記憶體
- Java虛擬機器01——Java記憶體資料區域和記憶體溢位異常Java虛擬機記憶體溢位
- 深入理解Java虛擬機器-Java記憶體區域與記憶體溢位異常Java虛擬機記憶體溢位
- Java記憶體區域與記憶體溢位異常 - 執行時資料區Java記憶體溢位
- jvm記憶體設定及記憶體溢位、解決方案JVM記憶體溢位
- Windbg下使用dump分析記憶體溢位記憶體溢位
- Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)RedisError記憶體溢位
- 關於 PHP 記憶體溢位的思考PHP記憶體溢位
- 記憶體和棧溢位問題定位記憶體