前些天線上除出了個OOM問題,今天閒下來記錄下:spa
OOM的提示信息是-PermGen space,說明問題出在方法區,方法區存的是什麼東西?:類的加載信息、常量、靜態變量。代理
按照方法區的定義:類加載的多了?常量、靜態變量定義的多了? 變量
咱們項目中使用了Dubbo,你們知道由於Dubbo是經過動態代理的技術去動態生成調用類,與服務端通訊的,動態生成的類多了,方法區內類的加載信息也就多了,因此就OOM了。jdk
查看線上PermSize大小,用的默認的大小,大概80多M,增長配置:-xx:PermSize:256M -xxMaxPermSize:512M 後問題解決。配置
注: 咱們項目用的jdk1.7,在jdk1.8後HotSpot沒有PermSize這個參數了,改用MetaspaceSize來配置方法區元數據大小方法