2016-02-12 59 views

回答

1

如果您已使用1300 MB的1312 MB堆,這意味着它即將執行GC來清理空間。

JVM不交換任何東西到磁盤。這是操作系統的工作,JVM不知道這是否正在發生。

順便說一句:你想避免交換堆的任何部分,因爲GC假定隨機訪問內存。如果在交換堆時有GC,則機器可能無法使用。總之,總是讓你的堆足夠小,它永遠不應該交換。

1

「see」是什麼意思?

我假設你正在通過jstat查找,如果你指的是OC(老一代容量)和OU(用法),那麼這意味着你的進程幾乎要消耗掉老一代的所有內存部分。這意味着你只有更多的12MB可用(查看完整GC的數量,可能每秒鐘都在運行)