src/share/vm/services/diagnosticCommand.hpp

Print this page




 181       return "Medium: Depends on Java heap size and content.";
 182     }
 183     static int num_arguments() { return 0; }
 184     virtual void execute(DCmdSource source, TRAPS);
 185 };
 186 
 187 class RunFinalizationDCmd : public DCmd {
 188 public:
 189   RunFinalizationDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
 190     static const char* name() { return "GC.run_finalization"; }
 191     static const char* description() {
 192       return "Call java.lang.System.runFinalization().";
 193     }
 194     static const char* impact() {
 195       return "Medium: Depends on Java content.";
 196     }
 197     static int num_arguments() { return 0; }
 198     virtual void execute(DCmdSource source, TRAPS);
 199 };
 200 








































 201 #if INCLUDE_SERVICES   // Heap dumping supported
 202 // See also: dump_heap in attachListener.cpp
 203 class HeapDumpDCmd : public DCmdWithParser {
 204 protected:
 205   DCmdArgument<char*> _filename;
 206   DCmdArgument<bool>  _all;
 207 public:
 208   HeapDumpDCmd(outputStream* output, bool heap);
 209   static const char* name() {
 210     return "GC.heap_dump";
 211   }
 212   static const char* description() {
 213     return "Generate a HPROF format dump of the Java heap.";
 214   }
 215   static const char* impact() {
 216     return "High: Depends on Java heap size and content. "
 217            "Request a full GC unless the '-all' option is specified.";
 218   }
 219   static const JavaPermission permission() {
 220     JavaPermission p = {"java.lang.management.ManagementPermission",




 181       return "Medium: Depends on Java heap size and content.";
 182     }
 183     static int num_arguments() { return 0; }
 184     virtual void execute(DCmdSource source, TRAPS);
 185 };
 186 
 187 class RunFinalizationDCmd : public DCmd {
 188 public:
 189   RunFinalizationDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
 190     static const char* name() { return "GC.run_finalization"; }
 191     static const char* description() {
 192       return "Call java.lang.System.runFinalization().";
 193     }
 194     static const char* impact() {
 195       return "Medium: Depends on Java content.";
 196     }
 197     static int num_arguments() { return 0; }
 198     virtual void execute(DCmdSource source, TRAPS);
 199 };
 200 
 201 class HeapInfoDCmd : public DCmd {
 202 public:
 203   HeapInfoDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
 204   static const char* name() { return "GC.heap_info"; }
 205   static const char* description() {
 206     return "Provide generic Java heap information.";
 207   }
 208   static const char* impact() {
 209     return "Low";
 210   }
 211   static int num_arguments() { return 0; }
 212   static const JavaPermission permission() {
 213     JavaPermission p = {"java.lang.management.ManagementPermission",
 214       "monitor", NULL};
 215       return p;
 216   }
 217 
 218   virtual void execute(DCmdSource source, TRAPS);
 219 };
 220 
 221 class FinalizerInfoDCmd : public DCmd {
 222 public:
 223   FinalizerInfoDCmd(outputStream* output, bool heap) : DCmd(output, heap) { }
 224   static const char* name() { return "GC.finalizer_info"; }
 225   static const char* description() {
 226     return "Provide information about Java finalization queue.";
 227   }
 228   static const char* impact() {
 229     return "Low";
 230   }
 231   static int num_arguments() { return 0; }
 232   static const JavaPermission permission() {
 233     JavaPermission p = {"java.lang.management.ManagementPermission",
 234       "monitor", NULL};
 235       return p;
 236   }
 237 
 238   virtual void execute(DCmdSource source, TRAPS);
 239 };
 240 
 241 #if INCLUDE_SERVICES   // Heap dumping supported
 242 // See also: dump_heap in attachListener.cpp
 243 class HeapDumpDCmd : public DCmdWithParser {
 244 protected:
 245   DCmdArgument<char*> _filename;
 246   DCmdArgument<bool>  _all;
 247 public:
 248   HeapDumpDCmd(outputStream* output, bool heap);
 249   static const char* name() {
 250     return "GC.heap_dump";
 251   }
 252   static const char* description() {
 253     return "Generate a HPROF format dump of the Java heap.";
 254   }
 255   static const char* impact() {
 256     return "High: Depends on Java heap size and content. "
 257            "Request a full GC unless the '-all' option is specified.";
 258   }
 259   static const JavaPermission permission() {
 260     JavaPermission p = {"java.lang.management.ManagementPermission",