最近用eclipse compile app一直出現: Unable to execute dex: GC overhead limit exceeded GC overhead limit exceeded, 然後eclipse就當了. 這才發現eclipse有密技. 因為eclipse 是用java 寫的,不是native windows 程式,而是跑在java vm內. (一般windows native程式不會有這限制) 故JAVA VM限制了Eclipse的使用. 因此你的電腦就算有16GB RAM但沒做這隱藏設定也沒用. eclipse預設值是只有max 512MB的VM SIZE.這麼小的值. 平常時跑一跑小程式是沒問題啦, 但跑一跑大專案會當機也不足為奇了. 改了一下神奇的eclipse.ini. (改成紅字部分) openFile --launcher.XXMaxPermSize 512M -showsplash org.eclipse.platform --launcher.XXMaxPermSize 512m --launcher.defaultAction openFile --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.7 -Xms512m -Xmx1024m 馬上eclipse就回報MAX VM SIZE增加到949MB. (本來最大值只有500多MB) 尖峰值會衝到900多MB 故終於明白之前為何Eclipse會當了. 之前不知道,導致 eclipse跑超慢,怪電腦配備不佳.真是冤枉啊~ 這真的是隱藏設定,很多人用 eclipse很久都不知道... 但這大小要根據你電腦ram size決定, 設太大會吃掉你電腦ram memory, RAM 4GB建議設定在-Xms512m, -Xmx1024m RAM 8GB建議設定在 -Xms768m, -Xmx1536m RAM 16GB你就自己去旁邊偷笑驕傲炫耀一下,直接改2048MB吧,沒幾個人那麼有錢能買到16GB.. Eclipse應該要增加這設定這個在preference 內吧 , 要大家自己手動去修改增