Score:0

Java taking too much memory in Ubuntu 20.04 after using Android Studio

cn flag

My desktop is too laggy (although I closed Android studio) to move, so I used top to see the reason.

RAM is 12G, and the desktop environment is gnome

this is the result of top

PID USER PR VIRT RES SHR %CPU %MEM TIME+ COMMAND
4172 pnkj 20 0 7181972 3.9g 4152 S 0.0 33.6 47:16.43 java

this is the result of jstack 4172

Threads class SMR info:
_java_thread_list=0x00007f8d0c0ca9a0, length=27, elements={
0x00007f8d9c016000, 0x00007f8d9c17c800, 0x00007f8d9c181000, 0x00007f8d9c193800,
0x00007f8d9c195800, 0x00007f8d9c19f000, 0x00007f8d9c1a1000, 0x00007f8d9c1a3000,
0x00007f8d9c21e000, 0x00007f8d9d3d5000, 0x00007f8d9d43e000, 0x00007f8d9d469800,
0x00007f8d18184000, 0x00007f8d1818b800, 0x00007f8d1820e000, 0x00007f8d186f2800,
0x00007f8d18784800, 0x00007f8d19431800, 0x00007f8d9d36f000, 0x00007f8d184d1000,
0x00007f8d185c1000, 0x00007f8d201f8000, 0x00007f8d5cc0f800, 0x00007f8d5ce52800,
0x00007f8d5ce58000, 0x00007f8d6419d800, 0x00007f8d58fd0000
}

"main" #1 prio=5 os_prio=0 cpu=1382.17ms elapsed=73137.62s tid=0x00007f8d9c016000 nid=0x104e waiting on condition  [0x00007f8da0f77000]
   java.lang.Thread.State: WAITING (parking)
    at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
    - parking to wait for  <0x0000000080cae9a0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:194)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:2081)
    at org.gradle.launcher.daemon.server.DaemonStateCoordinator.awaitStop(DaemonStateCoordinator.java:95)
    at org.gradle.launcher.daemon.server.Daemon.awaitExpiration(Daemon.java:247)
    at org.gradle.launcher.daemon.server.Daemon.stopOnExpiration(Daemon.java:221)
    at org.gradle.launcher.daemon.bootstrap.DaemonMain.doAction(DaemonMain.java:132)
    at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:50)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0([email protected]/Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke([email protected]/NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke([email protected]/DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke([email protected]/Method.java:566)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60)
    at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37)
    at org.gradle.launcher.daemon.bootstrap.GradleDaemon.main(GradleDaemon.java:22)

"Reference Handler" #2 daemon prio=10 os_prio=0 cpu=173.50ms elapsed=73137.55s tid=0x00007f8d9c17c800 nid=0x1056 waiting on condition  [0x00007f8d7551e000]
   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=0 cpu=57.64ms elapsed=73137.55s tid=0x00007f8d9c181000 nid=0x1057 in Object.wait()  [0x00007f8d7541d000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait([email protected]/Native Method)
    - waiting on <no object reference available>
    at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:155)
    - waiting to re-lock in wait() <0x0000000080176988> (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=0 cpu=0.41ms elapsed=73137.53s tid=0x00007f8d9c193800 nid=0x1058 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Service Thread" #5 daemon prio=9 os_prio=0 cpu=0.10ms elapsed=73137.52s tid=0x00007f8d9c195800 nid=0x1059 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #6 daemon prio=9 os_prio=0 cpu=595699.90ms elapsed=73137.52s tid=0x00007f8d9c19f000 nid=0x105a waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"C1 CompilerThread0" #8 daemon prio=9 os_prio=0 cpu=64635.92ms elapsed=73137.52s tid=0x00007f8d9c1a1000 nid=0x105b waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"Sweeper thread" #9 daemon prio=9 os_prio=0 cpu=5420.34ms elapsed=73137.52s tid=0x00007f8d9c1a3000 nid=0x105c runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Common-Cleaner" #10 daemon prio=8 os_prio=0 cpu=85.89ms elapsed=73137.39s tid=0x00007f8d9c21e000 nid=0x105d in Object.wait()  [0x00007f8d4fffe000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait([email protected]/Native Method)
    - waiting on <no object reference available>
    at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:155)
    - waiting to re-lock in wait() <0x0000000080005938> (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:834)
    at jdk.internal.misc.InnocuousThread.run([email protected]/InnocuousThread.java:134)

"Daemon health stats" #13 prio=5 os_prio=0 cpu=6910.61ms elapsed=73135.17s tid=0x00007f8d9d3d5000 nid=0x1066 waiting on condition  [0x00007f8d4e787000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
    - parking to wait for  <0x0000000080caed90> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos([email protected]/LockSupport.java:234)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos([email protected]/AbstractQueuedSynchronizer.java:2123)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take([email protected]/ScheduledThreadPoolExecutor.java:1182)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take([email protected]/ScheduledThreadPoolExecutor.java:899)
    at java.util.concurrent.ThreadPoolExecutor.getTask([email protected]/ThreadPoolExecutor.java:1054)
    at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1114)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"Incoming local TCP Connector on port 39895" #15 prio=5 os_prio=0 cpu=39.09ms elapsed=73135.01s tid=0x00007f8d9d43e000 nid=0x1067 runnable  [0x00007f8d4e283000]
   java.lang.Thread.State: RUNNABLE
    at sun.nio.ch.ServerSocketChannelImpl.accept0([email protected]/Native Method)
    at sun.nio.ch.ServerSocketChannelImpl.accept([email protected]/ServerSocketChannelImpl.java:533)
    at sun.nio.ch.ServerSocketChannelImpl.accept([email protected]/ServerSocketChannelImpl.java:285)
    at org.gradle.internal.remote.internal.inet.TcpIncomingConnector$Receiver.run(TcpIncomingConnector.java:108)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"Daemon periodic checks" #16 prio=5 os_prio=0 cpu=5712.84ms elapsed=73134.97s tid=0x00007f8d9d469800 nid=0x1068 waiting on condition  [0x00007f8d4e182000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
    - parking to wait for  <0x0000000080cafeb0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos([email protected]/LockSupport.java:234)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos([email protected]/AbstractQueuedSynchronizer.java:2123)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take([email protected]/ScheduledThreadPoolExecutor.java:1182)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take([email protected]/ScheduledThreadPoolExecutor.java:899)
    at java.util.concurrent.ThreadPoolExecutor.getTask([email protected]/ThreadPoolExecutor.java:1054)
    at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1114)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"Cache worker for file hash cache (/home/pnkj/.gradle/caches/6.7.1/fileHashes)" #24 prio=5 os_prio=0 cpu=642.50ms elapsed=73133.60s tid=0x00007f8d18184000 nid=0x1073 waiting on condition  [0x00007f8d4f9d6000]
   java.lang.Thread.State: WAITING (parking)
    at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
    - parking to wait for  <0x0000000080cd5770> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:194)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:2081)
    at java.util.concurrent.ArrayBlockingQueue.take([email protected]/ArrayBlockingQueue.java:417)
    at org.gradle.cache.internal.CacheAccessWorker.takeFromQueue(CacheAccessWorker.java:169)
    at org.gradle.cache.internal.CacheAccessWorker.run(CacheAccessWorker.java:133)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"File lock request listener" #25 prio=5 os_prio=0 cpu=0.63ms elapsed=73133.58s tid=0x00007f8d1818b800 nid=0x1074 runnable  [0x00007f8d4d57a000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainDatagramSocketImpl.receive0([email protected]/Native Method)
    - locked <0x0000000080cd5b30> (a java.net.PlainDatagramSocketImpl)
    at java.net.AbstractPlainDatagramSocketImpl.receive([email protected]/AbstractPlainDatagramSocketImpl.java:181)
    - locked <0x0000000080cd5b30> (a java.net.PlainDatagramSocketImpl)
    at java.net.DatagramSocket.receive([email protected]/DatagramSocket.java:814)
    - locked <0x0000000080cd5bd8> (a java.net.DatagramPacket)
    - locked <0x0000000080cd5c78> (a java.net.DatagramSocket)
    at org.gradle.cache.internal.locklistener.FileLockCommunicator.receive(FileLockCommunicator.java:86)
    at org.gradle.cache.internal.locklistener.DefaultFileLockContentionHandler$1.doRun(DefaultFileLockContentionHandler.java:119)
    at org.gradle.cache.internal.locklistener.DefaultFileLockContentionHandler$1.run(DefaultFileLockContentionHandler.java:105)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"Cache worker for journal cache (/home/pnkj/.gradle/caches/journal-1)" #26 prio=5 os_prio=0 cpu=10471.32ms elapsed=73133.12s tid=0x00007f8d1820e000 nid=0x1076 waiting on condition  [0x00007f8d4d479000]
   java.lang.Thread.State: WAITING (parking)
    at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
    - parking to wait for  <0x0000000080cbbc30> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:194)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:2081)
    at java.util.concurrent.ArrayBlockingQueue.take([email protected]/ArrayBlockingQueue.java:417)
    at org.gradle.cache.internal.CacheAccessWorker.takeFromQueue(CacheAccessWorker.java:169)
    at org.gradle.cache.internal.CacheAccessWorker.run(CacheAccessWorker.java:133)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"Cache worker for execution history cache (/home/pnkj/.gradle/caches/6.7.1/executionHistory)" #31 prio=5 os_prio=0 cpu=438.52ms elapsed=73129.16s tid=0x00007f8d186f2800 nid=0x1080 waiting on condition  [0x00007f8d4c873000]
   java.lang.Thread.State: WAITING (parking)
    at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
    - parking to wait for  <0x00000000801e7200> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:194)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:2081)
    at java.util.concurrent.ArrayBlockingQueue.take([email protected]/ArrayBlockingQueue.java:417)
    at org.gradle.cache.internal.CacheAccessWorker.takeFromQueue(CacheAccessWorker.java:169)
    at org.gradle.cache.internal.CacheAccessWorker.run(CacheAccessWorker.java:133)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"Cache worker for file content cache (/home/pnkj/.gradle/caches/6.7.1/fileContent)" #33 prio=5 os_prio=0 cpu=3.12ms elapsed=73126.99s tid=0x00007f8d18784800 nid=0x1085 waiting on condition  [0x00007f8d4c172000]
   java.lang.Thread.State: WAITING (parking)
    at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
    - parking to wait for  <0x00000000814fd0a0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:194)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:2081)
    at java.util.concurrent.ArrayBlockingQueue.take([email protected]/ArrayBlockingQueue.java:417)
    at org.gradle.cache.internal.CacheAccessWorker.takeFromQueue(CacheAccessWorker.java:169)
    at org.gradle.cache.internal.CacheAccessWorker.run(CacheAccessWorker.java:133)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"Memory manager" #161 prio=5 os_prio=0 cpu=3425.25ms elapsed=73099.62s tid=0x00007f8d19431800 nid=0x1125 waiting on condition  [0x00007f8cfad7e000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
    - parking to wait for  <0x00000000828ae000> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos([email protected]/LockSupport.java:234)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos([email protected]/AbstractQueuedSynchronizer.java:2123)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take([email protected]/ScheduledThreadPoolExecutor.java:1182)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take([email protected]/ScheduledThreadPoolExecutor.java:899)
    at java.util.concurrent.ThreadPoolExecutor.getTask([email protected]/ThreadPoolExecutor.java:1054)
    at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1114)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"Cache worker for Java compile cache (/home/pnkj/.gradle/caches/6.7.1/javaCompile)" #168 prio=5 os_prio=0 cpu=109.72ms elapsed=73047.19s tid=0x00007f8d9d36f000 nid=0x1197 waiting on condition  [0x00007f8cfb982000]
   java.lang.Thread.State: WAITING (parking)
    at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
    - parking to wait for  <0x000000008326cb58> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:194)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await([email protected]/AbstractQueuedSynchronizer.java:2081)
    at java.util.concurrent.ArrayBlockingQueue.take([email protected]/ArrayBlockingQueue.java:417)
    at org.gradle.cache.internal.CacheAccessWorker.takeFromQueue(CacheAccessWorker.java:169)
    at org.gradle.cache.internal.CacheAccessWorker.run(CacheAccessWorker.java:133)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"RMI Scheduler(0)" #172 daemon prio=5 os_prio=0 cpu=168.66ms elapsed=73041.65s tid=0x00007f8d184d1000 nid=0x11c0 waiting on condition  [0x00007f8d00cd5000]
   java.lang.Thread.State: TIMED_WAITING (parking)
    at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
    - parking to wait for  <0x0000000083e3f5f0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
    at java.util.concurrent.locks.LockSupport.parkNanos([email protected]/LockSupport.java:234)
    at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos([email protected]/AbstractQueuedSynchronizer.java:2123)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take([email protected]/ScheduledThreadPoolExecutor.java:1182)
    at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take([email protected]/ScheduledThreadPoolExecutor.java:899)
    at java.util.concurrent.ThreadPoolExecutor.getTask([email protected]/ThreadPoolExecutor.java:1054)
    at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1114)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"RMI TCP Accept-0" #175 daemon prio=5 os_prio=0 cpu=176.90ms elapsed=73041.39s tid=0x00007f8d185c1000 nid=0x11c4 runnable  [0x00007f8d01de6000]
   java.lang.Thread.State: RUNNABLE
    at java.net.PlainSocketImpl.socketAccept([email protected]/Native Method)
    at java.net.AbstractPlainSocketImpl.accept([email protected]/AbstractPlainSocketImpl.java:458)
    at java.net.ServerSocket.implAccept([email protected]/ServerSocket.java:565)
    at java.net.ServerSocket.accept([email protected]/ServerSocket.java:533)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop([email protected]/TCPTransport.java:394)
    at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run([email protected]/TCPTransport.java:366)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"Java2D Disposer" #1027 daemon prio=10 os_prio=0 cpu=0.91ms elapsed=67825.66s tid=0x00007f8d201f8000 nid=0x37f2 in Object.wait()  [0x00007f8cf1645000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait([email protected]/Native Method)
    - waiting on <no object reference available>
    at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:155)
    - waiting to re-lock in wait() <0x000000008326d580> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:176)
    at sun.java2d.Disposer.run([email protected]/Disposer.java:144)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"process reaper" #3782 daemon prio=10 os_prio=0 cpu=0.15ms elapsed=28585.04s tid=0x00007f8d5cc0f800 nid=0xbe47 runnable  [0x00007f8d4c952000]
   java.lang.Thread.State: RUNNABLE
    at java.lang.ProcessHandleImpl.waitForProcessExit0([email protected]/Native Method)
    at java.lang.ProcessHandleImpl$1.run([email protected]/ProcessHandleImpl.java:138)
    at java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"RMI GC Daemon" #3785 daemon prio=2 os_prio=0 cpu=0.31ms elapsed=28582.07s tid=0x00007f8d5ce52800 nid=0xbe69 in Object.wait()  [0x00007f8cd081a000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait([email protected]/Native Method)
    - waiting on <no object reference available>
    at sun.rmi.transport.GC$Daemon.run([email protected]/GC.java:126)
    - waiting to re-lock in wait() <0x000000008326d650> (a sun.rmi.transport.GC$LatencyLock)
    at java.lang.Thread.run([email protected]/Thread.java:834)
    at jdk.internal.misc.InnocuousThread.run([email protected]/InnocuousThread.java:134)

"RMI Reaper" #3786 prio=5 os_prio=0 cpu=2.31ms elapsed=28582.03s tid=0x00007f8d5ce58000 nid=0xbe6b in Object.wait()  [0x00007f8cd0719000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait([email protected]/Native Method)
    - waiting on <no object reference available>
    at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:155)
    - waiting to re-lock in wait() <0x0000000082535698> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove([email protected]/ReferenceQueue.java:176)
    at sun.rmi.transport.ObjectTable$Reaper.run([email protected]/ObjectTable.java:349)
    at java.lang.Thread.run([email protected]/Thread.java:834)

"ForkJoinPool.commonPool-worker-1" #5073 daemon prio=5 os_prio=0 cpu=51.60ms elapsed=26439.06s tid=0x00007f8d6419d800 nid=0xd71a waiting on condition  [0x00007f8cba2e8000]
   java.lang.Thread.State: WAITING (parking)
    at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
    - parking to wait for  <0x000000008326d2c0> (a java.util.concurrent.ForkJoinPool)
    at java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:194)
    at java.util.concurrent.ForkJoinPool.runWorker([email protected]/ForkJoinPool.java:1628)
    at java.util.concurrent.ForkJoinWorkerThread.run([email protected]/ForkJoinWorkerThread.java:183)

"Attach Listener" #5428 daemon prio=9 os_prio=0 cpu=0.99ms elapsed=1236.80s tid=0x00007f8d58fd0000 nid=0x10140 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"VM Thread" os_prio=0 cpu=12866.55ms elapsed=73137.56s tid=0x00007f8d9c174000 nid=0x1055 runnable  

"GC Thread#0" os_prio=0 cpu=70277.08ms elapsed=73137.60s tid=0x00007f8d9c02d800 nid=0x1050 runnable  

"GC Thread#1" os_prio=0 cpu=68820.18ms elapsed=73136.68s tid=0x00007f8d6c001000 nid=0x1060 runnable  

"GC Thread#2" os_prio=0 cpu=69101.47ms elapsed=73136.68s tid=0x00007f8d6c002000 nid=0x1061 runnable  

"GC Thread#3" os_prio=0 cpu=68510.50ms elapsed=73136.68s tid=0x00007f8d6c003800 nid=0x1062 runnable  

"G1 Main Marker" os_prio=0 cpu=1497.97ms elapsed=73137.60s tid=0x00007f8d9c060000 nid=0x1051 runnable  

"G1 Conc#0" os_prio=0 cpu=468897.28ms elapsed=73137.60s tid=0x00007f8d9c062000 nid=0x1052 runnable  

"G1 Refine#0" os_prio=0 cpu=12484.75ms elapsed=73137.60s tid=0x00007f8d9c10d800 nid=0x1053 runnable  

"G1 Refine#1" os_prio=0 cpu=2168.35ms elapsed=73075.49s tid=0x00007f8d70002800 nid=0x1148 runnable  

"G1 Refine#2" os_prio=0 cpu=811.54ms elapsed=73071.95s tid=0x00007f8d6c05d000 nid=0x114c runnable  

"G1 Refine#3" os_prio=0 cpu=375.09ms elapsed=72771.71s tid=0x00007f8d68015000 nid=0x1430 runnable  

"G1 Young RemSet Sampling" os_prio=0 cpu=14560.28ms elapsed=73137.60s tid=0x00007f8d9c10f800 nid=0x1054 runnable  
"VM Periodic Task Thread" os_prio=0 cpu=26480.82ms elapsed=73137.35s tid=0x00007f8d9c222000 nid=0x105e waiting on condition  

JNI global refs: 91, weak refs: 236

N0rbert avatar
zw flag
How much RAM do you have? Which desktop environment do you use?
pnkj avatar
cn flag
RAM is 12G, and the desktop environment is gnome
ru flag
Android Studio consumes a LOT of resources, this is normal because of Java. However, just closing Android Studio doesn't close any other spawned processes of Java that tend to continue to run afterwards. Were you running Android applications in a virtual device?
pnkj avatar
cn flag
No, I hadn't used a virtual device.It's true that Android Studio consumes a lot of resources, but my intuition tells me that with 12GB of RAM, it shouldn't be so bad that I can't even move my mouse.
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.