< prev index next >

src/hotspot/share/runtime/memprofiler.cpp

Print this page
rev 47287 : Port 09.17.Thread_SMR_logging_update from JDK9 to JDK10
rev 47289 : eosterlund, stefank CR - refactor code into threadSMR.cpp and threadSMR.hpp
rev 47292 : stefank, coleenp CR - refactor most JavaThreadIterator usage to use JavaThreadIteratorWithHandle.


  94   // Do one last trace at disengage time
  95   do_trace();
  96 
  97   // Close logfile
  98   fprintf(_log_fp, "MemProfiler detached\n");
  99   fclose(_log_fp);
 100 
 101   // remove MemProfilerTask
 102   assert(_task != NULL, "sanity check");
 103   _task->disenroll();
 104   delete _task;
 105   _task = NULL;
 106 }
 107 
 108 
 109 void MemProfiler::do_trace() {
 110   // Calculate thread local sizes
 111   size_t handles_memory_usage    = VMThread::vm_thread()->handle_area()->size_in_bytes();
 112   size_t resource_memory_usage   = VMThread::vm_thread()->resource_area()->size_in_bytes();
 113   {
 114     ThreadsListHandle tlh;
 115     JavaThreadIterator jti(tlh.list());
 116     for (JavaThread *cur = jti.first(); cur != NULL; cur = jti.next()) {
 117       handles_memory_usage  += cur->handle_area()->size_in_bytes();
 118       resource_memory_usage += cur->resource_area()->size_in_bytes();
 119     }
 120 
 121     // Print trace line in log
 122     fprintf(_log_fp, "%6.1f,%5d,%5d," UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) ",",
 123             os::elapsedTime(),
 124             tlh.length(),
 125             InstanceKlass::number_of_instance_classes(),
 126             Universe::heap()->used() / K,
 127             Universe::heap()->capacity() / K);
 128   }
 129 
 130   fprintf(_log_fp, UINTX_FORMAT_W(6) ",", CodeCache::capacity() / K);
 131 
 132   fprintf(_log_fp, UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) ",%6ld\n",
 133           handles_memory_usage / K,
 134           resource_memory_usage / K,
 135           0L);
 136   fflush(_log_fp);
 137 }
 138 
 139 #endif


  94   // Do one last trace at disengage time
  95   do_trace();
  96 
  97   // Close logfile
  98   fprintf(_log_fp, "MemProfiler detached\n");
  99   fclose(_log_fp);
 100 
 101   // remove MemProfilerTask
 102   assert(_task != NULL, "sanity check");
 103   _task->disenroll();
 104   delete _task;
 105   _task = NULL;
 106 }
 107 
 108 
 109 void MemProfiler::do_trace() {
 110   // Calculate thread local sizes
 111   size_t handles_memory_usage    = VMThread::vm_thread()->handle_area()->size_in_bytes();
 112   size_t resource_memory_usage   = VMThread::vm_thread()->resource_area()->size_in_bytes();
 113   {
 114     JavaThreadIteratorWithHandle jtiwh;
 115     for (; JavaThread *cur = jtiwh.next(); ) {

 116       handles_memory_usage  += cur->handle_area()->size_in_bytes();
 117       resource_memory_usage += cur->resource_area()->size_in_bytes();
 118     }
 119 
 120     // Print trace line in log
 121     fprintf(_log_fp, "%6.1f,%5d,%5d," UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) ",",
 122             os::elapsedTime(),
 123             jtiwh.length(),
 124             InstanceKlass::number_of_instance_classes(),
 125             Universe::heap()->used() / K,
 126             Universe::heap()->capacity() / K);
 127   }
 128 
 129   fprintf(_log_fp, UINTX_FORMAT_W(6) ",", CodeCache::capacity() / K);
 130 
 131   fprintf(_log_fp, UINTX_FORMAT_W(6) "," UINTX_FORMAT_W(6) ",%6ld\n",
 132           handles_memory_usage / K,
 133           resource_memory_usage / K,
 134           0L);
 135   fflush(_log_fp);
 136 }
 137 
 138 #endif
< prev index next >