Too many MaintenanceTimer and CleanCursors Threads

I am using jconsole to check for the number of threads and i see a lot of MaintenanceTimer threads and CleanCursor Threads.

  1. What are these threads ?
  2. Is it related to any mongodb configurable options ?

Any pointers on these will be helpful.

There are about 300+ threads of which i see 180+ threads related to MaintenanceTimer and CleanCursors

Name: CleanCursors-180-thread-1 State: TIMED_WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ ConditionObject@5b478a71 Total blocked: 0 Total waited: 364

Stack trace: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) java.util.concurrent.locks.AbstractQueuedSynchronizer$ ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078) java.util.concurrent.ScheduledThreadPoolExecutor$ DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093) java.util.concurrent.ScheduledThreadPoolExecutor$ DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809) java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134) java.util.concurrent.ThreadPoolExecutor$ Worker.run(ThreadPoolExecutor.java:624) java.lang.Thread.run(Thread.java:748)