src/share/vm/services/diagnosticCommand.hpp

Print this page




 223       return "Medium: Depends on Java heap size and content.";
 224     }
 225     static int num_arguments() { return 0; }
 226     virtual void execute(DCmdSource source, TRAPS);
 227 };
 228 
 229 class RunFinalizationDCmd : public DCmd {
 230 public:
 231   RunFinalizationDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
 232     static const char* name() { return "GC.run_finalization"; }
 233     static const char* description() {
 234       return "Call java.lang.System.runFinalization().";
 235     }
 236     static const char* impact() {
 237       return "Medium: Depends on Java content.";
 238     }
 239     static int num_arguments() { return 0; }
 240     virtual void execute(DCmdSource source, TRAPS);
 241 };
 242 








































 243 #if INCLUDE_SERVICES   // Heap dumping supported
 244 // See also: dump_heap in attachListener.cpp
 245 class HeapDumpDCmd : public DCmdWithParser {
 246 protected:
 247   DCmdArgument<char*> _filename;
 248   DCmdArgument<bool>  _all;
 249 public:
 250   HeapDumpDCmd(outputStream* output, bool heap);
 251   static const char* name() {
 252     return "GC.heap_dump";
 253   }
 254   static const char* description() {
 255     return "Generate a HPROF format dump of the Java heap.";
 256   }
 257   static const char* impact() {
 258     return "High: Depends on Java heap size and content. "
 259            "Request a full GC unless the '-all' option is specified.";
 260   }
 261   static const JavaPermission permission() {
 262     JavaPermission p = {"java.lang.management.ManagementPermission",




 223       return "Medium: Depends on Java heap size and content.";
 224     }
 225     static int num_arguments() { return 0; }
 226     virtual void execute(DCmdSource source, TRAPS);
 227 };
 228 
 229 class RunFinalizationDCmd : public DCmd {
 230 public:
 231   RunFinalizationDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
 232     static const char* name() { return "GC.run_finalization"; }
 233     static const char* description() {
 234       return "Call java.lang.System.runFinalization().";
 235     }
 236     static const char* impact() {
 237       return "Medium: Depends on Java content.";
 238     }
 239     static int num_arguments() { return 0; }
 240     virtual void execute(DCmdSource source, TRAPS);
 241 };
 242 
 243 class HeapInfoDCmd : public DCmd {
 244 public:
 245   HeapInfoDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
 246   static const char* name() { return "GC.heap_info"; }
 247   static const char* description() {
 248     return "Provide generic Java heap information.";
 249   }
 250   static const char* impact() {
 251     return "Medium";
 252   }
 253   static int num_arguments() { return 0; }
 254   static const JavaPermission permission() {
 255     JavaPermission p = {"java.lang.management.ManagementPermission",
 256       "monitor", NULL};
 257       return p;
 258   }
 259 
 260   virtual void execute(DCmdSource source, TRAPS);
 261 };
 262 
 263 class FinalizerInfoDCmd : public DCmd {
 264 public:
 265   FinalizerInfoDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
 266   static const char* name() { return "GC.finalizer_info"; }
 267   static const char* description() {
 268     return "Provide information about Java finalization queue.";
 269   }
 270   static const char* impact() {
 271     return "Medium";
 272   }
 273   static int num_arguments() { return 0; }
 274   static const JavaPermission permission() {
 275     JavaPermission p = {"java.lang.management.ManagementPermission",
 276       "monitor", NULL};
 277       return p;
 278   }
 279 
 280   virtual void execute(DCmdSource source, TRAPS);
 281 };
 282 
 283 #if INCLUDE_SERVICES   // Heap dumping supported
 284 // See also: dump_heap in attachListener.cpp
 285 class HeapDumpDCmd : public DCmdWithParser {
 286 protected:
 287   DCmdArgument<char*> _filename;
 288   DCmdArgument<bool>  _all;
 289 public:
 290   HeapDumpDCmd(outputStream* output, bool heap);
 291   static const char* name() {
 292     return "GC.heap_dump";
 293   }
 294   static const char* description() {
 295     return "Generate a HPROF format dump of the Java heap.";
 296   }
 297   static const char* impact() {
 298     return "High: Depends on Java heap size and content. "
 299            "Request a full GC unless the '-all' option is specified.";
 300   }
 301   static const JavaPermission permission() {
 302     JavaPermission p = {"java.lang.management.ManagementPermission",