Khi một object được khởi tạo, nó sẽ được quản lý tại một
trong 3 vùng của JVM.
- Vùng Young Gen
Chia làm 3 vùng nhỏ: Eden, S0, S1
Đầu tiên, object tạo mới được nhét vào
Eden. Minor GC hoạt động khi số lượng obj đầy hết vùng Eden – Nó sẽ xóa các obj
không cần thiết và không còn hoạt động. Các obj còn hoạt động sẽ được đưa vào 2
vùng S01, S02. Sau n lần Minor GC (n là chỉ số MaxTenuringThreshold , default: 32) mà obj vẫn còn hoạt động thì nó
sẽ được chuyển đến vùng Old.
- Vùng Old Gen
Vùng này chứa những obj còn sống và được
Major GC quản lý. Cũng giống như Minor GC thì Major hoạt động khi Old Gen đầy.
- Vùng Perm
Vùng này chứa các thông tin meta
như thông số về class, method, thư viện SE… Nó không chưa obj . Vùng này không
nằm trong Heap.
- Tuning một số thông số.
-Xms
|
Giá trị size khởi
đầu của toàn bộ Heap
|
-Xmx
|
Giá trị size max
của toàn bộ Heap
|
-XX:NewSize
|
Giá trị size ban
đầu của vùng New của Heap
|
-XX:MaxNewSize
|
Giá trị size Max
của vùng New của Heap
|
-XX:PermSize
|
Giá trị size ban
đầu của vùng Permanent
|
-XX:MaxPermSize
|
Giá trị size Max
của vùng Permanent
|
-XX:NewRatio
|
Tỉ lệ phân chia bộ
nhớ giữa vùng New và Old
|
-XX:SurvivorRatio
|
Tỉ lễ phân chia bộ
nhỡ giữa vùng [Eden] và [From/To] trong New
|
Còn tiếp …
Tham khảo:
No comments:
Post a Comment