2013-05-17 9 views
7

Pracuję nad aplikacją javaFx dla MAC i Windows i odkryłem, że aplikacja używa bardzo dużej pamięci i użycia procesora w MAC w porównaniu z Windows.Problem z Javą: Wykorzystanie pamięci i procesora w systemie MAC OS

Kiedy widzę działanie mojej aplikacji w Menedżerze zadań Windows, pokazuje użycie średniej 80 MB pamięci i 1-2% procesora, która osiąga maksimum 150 MB i 12-15% procesora. Z drugiej strony w Monitorze Aktywności MAC ta sama aplikacja pokazuje 150 MB i 12-15% CPU na starcie i zwiększa się w sposób ciągły poza 1 GB i 90% CPU.

Jest to bardzo dziwny problem, który znalazłem w mojej aplikacji JavaFX.

Przetestowałem to nawet dla prostej aplikacji java i znalazłem podobne zachowanie z pamięcią i procesorem w MAC i oknach.

Dlaczego Java używa więcej pamięci i procesora w MAC? Czy istnieje jakiś sposób, aby rozwiązać ten problem?

+0

Które wersje Java/JavaFX są różne platformy bieganie ? –

+0

Java1.7 i JavaFx2.2 –

+3

Jeśli uruchomisz wersję mac pod JDK, możesz uruchomić visualvm. Po lewej stronie powinien pojawić się proces java z uruchomioną aplikacją. Jeśli zrobisz zrzut sterty (huhuhuh), możesz sprawdzić, jakie przedmioty używają pamięci. To świetna praktyka dla bardzo ważnej umiejętności java. –

Odpowiedz

2

Widziałem wiele problemów, gdy Java uruchomiła nową wersję, która nie została poparta początkowo ze względu na wadę bezpieczeństwa (strażnik blokował go/lub nie działa)

to jest link, jeśli to pomoże uczynić go wspiera więcej ,

Old Post

powiem funkcja securty MAC będzie bug jakiś czas, gdyż wyraźnie nie zaktualizować dowolną wtyczkę, więc sprawdzić wersję Java i wtyczek czy działa poprawnie .. i tak stare post nie wiem, które wtyczki mogą być wymagane, ale jest to głównym problemem Problemy gdzie wtyczki nie działają prawidłowo ..

również sprawdzić to, czy system jest także dostęp do Java 6, który był poprzednio tam należy usunąć, aby uniknąć samo odnosi Discussion on apple

JavaFX i JDK musi być zainstalowany w taki sam struktura katalogów Oracle MAC FAQ pytanie 2

nie jestem regularnym użytkownikiem Mac, jak niewiele potrzeba, (po jakimś czasie) ..

Ale śledzić wersjach i aktualizacjach. :)

Mam nadzieję, że to rozwiąże ..

Moim głównym celem jest stary Java 6 jest również tam należy usunąć katalogi takie same ..

+1

Dziękuję za odpowiedź i komentarze. Próbowałem tego z java1.7u09, Java1.7u10 i Java1.7u21. Wszystkie zachowują się tak samo przy zarządzaniu pamięcią (stale zwiększają pamięć i nie uwalniają monitora pamięci). Próbowałem też z wcześniejszą wersją Java8 i odkryłem, że Java8 dobrze radzi sobie z zarządzaniem pamięcią (Zwiększ pamięć do określonego poziomu, a także wolną pamięć). Ale w JavaFx z Java 8 jest kilka problemów graficznych i nie chcę używać wcześniejszej wersji java8. –

+0

Robiłem ten sam punkt, jeśli bramkarz blokuje proces, może również blokować proces pod częścią, więc jeśli to możliwe Proszę pobrać najnowszą wersję i spróbuj jeszcze raz. Jeśli to może rozwiązać problem, odszukaj stronę faq http://www.java.com/en/download/faq/java_mac.xml oznacza, że ​​poprzednie wersje nie są obsługiwane i blokowane .. lub uruchom program za pomocą ctrl, kliknij jako administrator, a następnie przetestuj ponownie. jeśli jakakolwiek zmiana !!, dziękuję za komentarze .. – MarmiK

Powiązane problemy