Netbeans 11 + mac = ?

0

Hej,
uzywam netbeansa do php na windowsie i macu. Czemu 3 linijkowy index na windowsie debuguje sie i odpala w sekunde a na macu to samo schodzi 30s? hardwareowo pc jest mocniejszy, ale bez przesady. To kwestia konfiguracji nb na maca? w pc jakis stary i5 + 1060 a mac to air 17
Problem jest jakby z zamuloną przeglądarką. W nb klikam run i przechodzi w przegladarke i stoi, nie otwiera zadnej nowej karty, moge robic co chce a to dopiero rusza po 30s albo czasem i lepiej. Testowane na safari i firefox.

0

Odpal jakiś ps faux albo coś podobnego i sprawdź na czym konkretnie wisi. Ewentualnie zrób migawkę wątków w NetBeansie: https://dzone.com/articles/how-to-read-a-thread-dump

0
Wibowit napisał(a):

Odpal jakiś ps faux albo coś podobnego i sprawdź na czym konkretnie wisi. Ewentualnie zrób migawkę wątków w NetBeansie: https://dzone.com/articles/how-to-read-a-thread-dump

nie wiem co to ps faux.
sprawdzalem jeszcze xdebugera, wersje jdk, wszystko co mozliwe i dalej czeka na tej przegladarce..

0

ps to narzędzie do wypisywania hierarchii procesów. NetBeans prawdopodobnie odpala jakiś nowy proces, by pokazać stronę w przeglądarce. Jeśli na tym wisi to można to zobaczyć w tym co wypisuje ps. Informacje o ps: https://apple.stackexchange.com/questions/272849/what-is-the-modern-equivalent-of-ps-aux-on-macos-sierra

ps działa na poziomie systemu operacyjnego. Migawka wątków Javowych działa na poziomie JVMa i daje Javowe stacktrace, z których można wyczytać więcej niż z tego co wypisuje ps (nie wiedzący nic o wnętrznościach Javy).

Jak nie zrobisz zrzutu wątków czy procesów to będziesz mógł co najwyżej zgadywać o co chodzi.

0

ps aux tworzy:

michal 2151 0,0 0,0 4258824 24 ?? T 10:07 0:00.00 /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

michal 2150 0,0 0,1 4335856 11420 ?? S 10:07 0:00.04 /usr/bin/open -b com.google.chrome http://localhost/PhpProject3/index.php

a thread dump takie cos:

Threads class SMR info:
_java_thread_list=0x00007f88a0d36f50, length=11, elements={
0x00007f88a104b800, 0x00007f88a283f000, 0x00007f88a1823000, 0x00007f88a104d000,
0x00007f88a2012800, 0x00007f88a2843800, 0x00007f88a2854800, 0x00007f88a2037000,
0x00007f88a1039800, 0x00007f88a1800000, 0x00007f88a100f000
}

"Reference Handler" #2 daemon prio=10 os_prio=31 cpu=0.23ms elapsed=307.05s tid=0x00007f88a104b800 nid=0x4103 waiting on condition  [0x0000700001b3d000]
   java.lang.Thread.State: RUNNABLE
	at java.lang.ref.Reference.waitForReferencePendingList([email protected]/Native Method)
	at java.lang.ref.Reference.processPendingReferences([email protected]/Reference.java:241)
	at java.lang.ref.Reference$ReferenceHandler.run([email protected]/Reference.java:213)

"Finalizer" #3 daemon prio=8 os_prio=31 cpu=0.40ms elapsed=307.04s tid=0x00007f88a283f000 nid=0x3503 in Object.wait()  [0x0000700001c40000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait([email protected]/Native Method)
	- waiting on <0x0000000787f02790> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:155)
	- locked <0x0000000787f02790> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:176)
	at java.lang.ref.Finalizer$FinalizerThread.run([email protected]/Finalizer.java:170)

"Signal Dispatcher" #4 daemon prio=9 os_prio=31 cpu=0.20ms elapsed=307.03s tid=0x00007f88a1823000 nid=0x3803 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #5 daemon prio=9 os_prio=31 cpu=15.12ms elapsed=307.03s tid=0x00007f88a104d000 nid=0xa903 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"C1 CompilerThread0" #7 daemon prio=9 os_prio=31 cpu=54.60ms elapsed=307.03s tid=0x00007f88a2012800 nid=0x5703 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"Sweeper thread" #8 daemon prio=9 os_prio=31 cpu=1.71ms elapsed=307.03s tid=0x00007f88a2843800 nid=0xa603 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Service Thread" #9 daemon prio=9 os_prio=31 cpu=0.07ms elapsed=307.00s tid=0x00007f88a2854800 nid=0x5a03 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Common-Cleaner" #10 daemon prio=8 os_prio=31 cpu=0.81ms elapsed=306.99s tid=0x00007f88a2037000 nid=0xa203 in Object.wait()  [0x0000700002355000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait([email protected]/Native Method)
	- waiting on <0x0000000787f913e0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:155)
	- locked <0x0000000787f913e0> (a java.lang.ref.ReferenceQueue$Lock)
	at jdk.internal.ref.CleanerImpl.run([email protected]/CleanerImpl.java:148)
	at java.lang.Thread.run([email protected]/Thread.java:835)
	at jdk.internal.misc.InnocuousThread.run([email protected]/InnocuousThread.java:134)

"Thread-0" #11 prio=5 os_prio=31 cpu=51.80ms elapsed=306.99s tid=0x00007f88a1039800 nid=0xa003 waiting for monitor entry  [0x0000700002458000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at DeadlockProgram$DeadlockRunnable.run(DeadlockProgram.java:49)
	- waiting to lock <0x0000000787f94e80> (a java.lang.Object)
	- locked <0x0000000787f94e70> (a java.lang.Object)
	at java.lang.Thread.run([email protected]/Thread.java:835)

"Thread-1" #12 prio=5 os_prio=31 cpu=12.66ms elapsed=306.48s tid=0x00007f88a1800000 nid=0x9f03 waiting for monitor entry  [0x000070000255b000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at DeadlockProgram$DeadlockRunnable.run(DeadlockProgram.java:49)
	- waiting to lock <0x0000000787f94e70> (a java.lang.Object)
	- locked <0x0000000787f94e80> (a java.lang.Object)
	at java.lang.Thread.run([email protected]/Thread.java:835)

"DestroyJavaVM" #13 prio=5 os_prio=31 cpu=77.83ms elapsed=306.48s tid=0x00007f88a100f000 nid=0x1903 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"VM Thread" os_prio=31 cpu=27.26ms elapsed=307.05s tid=0x00007f88a104b000 nid=0x4203 runnable  

"GC Thread#0" os_prio=31 cpu=12.12ms elapsed=307.06s tid=0x00007f88a281b800 nid=0x4d03 runnable  

"G1 Main Marker" os_prio=31 cpu=0.52ms elapsed=307.06s tid=0x00007f88a1005800 nid=0x4c03 runnable  

"G1 Conc#0" os_prio=31 cpu=0.10ms elapsed=307.06s tid=0x00007f88a180f800 nid=0x4a03 runnable  

"G1 Refine#0" os_prio=31 cpu=0.53ms elapsed=307.06s tid=0x00007f88a283c000 nid=0x4803 runnable  

"G1 Young RemSet Sampling" os_prio=31 cpu=51.78ms elapsed=307.06s tid=0x00007f88a1822000 nid=0x4603 runnable  
"VM Periodic Task Thread" os_prio=31 cpu=263.19ms elapsed=307.00s tid=0x00007f88a283e000 nid=0x5c03 waiting on condition  

JNI global refs: 5, weak refs: 0


Found one Java-level deadlock:
=============================
"Thread-0":
  waiting to lock monitor 0x0000000110699f00 (object 0x0000000787f94e80, a java.lang.Object),
  which is held by "Thread-1"
"Thread-1":
  waiting to lock monitor 0x0000000110697f00 (object 0x0000000787f94e70, a java.lang.Object),
  which is held by "Thread-0"

Java stack information for the threads listed above:
===================================================
"Thread-0":
	at DeadlockProgram$DeadlockRunnable.run(DeadlockProgram.java:49)
	- waiting to lock <0x0000000787f94e80> (a java.lang.Object)
	- locked <0x0000000787f94e70> (a java.lang.Object)
	at java.lang.Thread.run([email protected]/Thread.java:835)
"Thread-1":
	at DeadlockProgram$DeadlockRunnable.run(DeadlockProgram.java:49)
	- waiting to lock <0x0000000787f94e70> (a java.lang.Object)
	- locked <0x0000000787f94e80> (a java.lang.Object)
	at java.lang.Thread.run([email protected]/Thread.java:835)

Found 1 deadlock.

Heap
 garbage-first heap   total 133120K, used 1760K [0x0000000780000000, 0x0000000800000000)
  region size 1024K, 2 young (2048K), 0 survivors (0K)
 Metaspace       used 378K, capacity 4513K, committed 4864K, reserved 1056768K
  class space    used 30K, capacity 396K, committed 512K, reserved 1048576K

0

michal 2150 0,0 0,1 4335856 11420 ?? S 10:07 0:00.04 /usr/bin/open -b com.google.chrome http://localhost/PhpProject3/index.php

Spróbuj odpalić to polecenie /usr/bin/open -b com.google.chrome http://localhost/PhpProject3/index.php ręcznie z konsoli (pod warunkiem, że serwer masz na localhoście postawiony) i sprawdź ile czasu to zajmie.

a thread dump takie cos:

Nic tam prawie nie widać. Jesteś pewien że zrobiłeś thread dumpa NetBeansowi (a nie jakiemuś innemu procesowi Javowemu) i to w trakcie gdy miał laga o którym piszesz?

0

to polecenie odpala od razu przeglądarkę, nie ma żadnego laga.
Po "run" w netbeansie w terminalu jest tylko main i jps, nic więcej, dlatego zrobilem thread dumpa tej przykładowej klasie żeby sprawdzić czy przypadkiem java się gdzieś nie wyrzuca.
może spróbować wycofać jdk z 12 na 8?

edit: próbowałem reinstalować całego netbeansa (z kasowaniem cache i całej reszty) ale nie pomogło, dalej nie wiem na co czeka

0

Jest jeszcze inna opcja. Jeśli NetBeans chodzi na JDK w wersji X, to odpal jvisualvm z tego JDK i podepnij się pod proces NetBeansa. Tuż przed odpaleniem lagującej akcji włącz profilowanie CPU i po skończeniu akcji zatrzymaj profilowanie i sprawdź co się stało (tzn przejrzyj wyniki w jvisualvmie). Może w ten sposób będzie się dało dociec na czym NB stoi i czeka.

0

Z tego co wyczytałem najlepiej działał netbeans 8 na jdk 8, pozniej juz jest jak jest. Próbowałem używać nb 11 na jdk 8 ale nie zmienia to niczego, a jedynie ogranicza. Wróciłem do jdk12 i działam troche na około, bo run daje raz, a potem jest skrót na quick run, czyli takie jakby ctrl s w ide i f5 w przeglądarce jednocześnie. Debugowanie również jest okej. Takie rozwiązanie satysfakcjonuje mnie tylko w jednym procencie ale musze sie czegokolwiek teraz złapać..
Pokończe co mam zrobić i spróbuje zaktualizować os-a do tego tylko 64 bitowego, może coś zmieni.
Dzięki serdeczne @Wibowit za konkretne odopowiedzi, pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1