Co spowodowałoby, że proces java znacznie przekroczyłby limit Xmx lub Xss?

Mam 7 różnych demonów Java, które uruchamiam (wszystkie 7) na 3 różnych serwerach. Linia poleceń Java ma -Xmx2048m i -Xss1024k. Na tych 3 serwerach wszystkie 21 procesów pokazuje nieco poniżej 2,5 GB dla rozmiaru VIRT na górze i na szczycie. Rozmiar RES waha się od 300 do 1,9 GB, według którego demona jest.

To wszystko tak, jak powinno być.

Wejdź na nowy serwer. Szybszy procesor, więcej pamięci RAM (16 GB zamiast 8 GB), nieco nowsza wersja Java (1.6.0_10-b33 na starych serwerach, 1.6.0_31-b04 na nowym serwerze). Oba systemy (i maszyny JVM) są 64-bitowe.

Przeniesiono 2 demony na nowy serwer. Na nowym serwerze, mając to samo zadanie, demony zużywają znacznie więcej CPU (o wartości rdzenia) i robią mniej. (Przeniesiono z 5110 procesorów w starych systemach do 5620 w nowym).

Prawie cały dodatkowy rdzeń wykorzystania procesora (wątek GC ??) i raportowanie 5 GB VIRT i 2 GB RES dla jednego demona i 10,5 GB VIRT i 2 GB RES dla drugiego demona.

Jakieś pomysły, które spowodowałyby, że java zignorowałaby (lub wydaje się ignorować, jeśli tak jest) ograniczenia pamięci?

questionAnswers(1)

yourAnswerToTheQuestion