Easy to Learn Java: Programming Articles, Examples and Tips

Start with Java in a few days with Java Lessons or Lectures

Home

Code Examples

Java Tools

More Java Tools!

Java Forum

All Java Tips

Books

Submit News
Search the site here...
Search...
 
Search the JavaFAQ.nu
1000 Java Tips ebook

1000 Java Tips - Click here for the high resolution copy!1000 Java Tips - Click here for the high resolution copy!

Java Screensaver, take it here

Free "1000 Java Tips" eBook is here! It is huge collection of big and small Java programming articles and tips. Please take your copy here.

Take your copy of free "Java Technology Screensaver"!.

Easy Learn Java: Programming Articles, Examples and Tips - Page 458


Previous 1060 Stories (530 Pages, 2 Per Page) Next

Java Tools that help you learn how Java works and understand it even more.

Go to all tips in Java Tools

Question: I have  a few Java applications and tools which continuously run on our server. We are going to write some "killer application" script which will kill our application if it hangs.  How do we find pid of that application, which we are going to kill to?


Answer: You can use jps command which is a part HotSpot JVM instrumentation. Be aware that this tool is limited to reporting information on JVMs for which it has the access permissions.

If you run simply jps without any argument you will report all Java applications together with lvmid - local VM identifier, which are usually but not necessarily are the same as pids.

Below you see my example which I run on myServer  machine:

myServer$jps
13703 AlexMain
9523 Jps
7596 Bootstrap

Here you can see three two applications run: AlexMain and Bootstrap. Third application is our command jps Smile. It listed itself.

If you want to get only lvmids  you can run the command with -q option which will suppress the name of application and just give you lvmids:

myServer$jps -q
13703
9803
7596

Sometimes it is good to know what are arguments were passed to every application. Run jps -m:

myServer$jps -m
13703 AlexMain 25 /home/alex/reserv/client.xml start
9807 Jps -m
7596 Bootstrap start

Here you can see that AlexMain got three input parameters: "25", "/home/alex/reserv/client.xml" and "start".

Two more parameters you can try yourself, it will help you to learn Java more and train your habits to do more things by hand.

I will give you just description:
-v

Output the arguments passed to the JVM.
-V

Output the arguments passed to the JVM through the flags file (the .hotspotrc file or the file specified by the -XX:Flags=<filename> argument).

Additionally to default options, you can pass more options to the underlying VM executing applications written in Java with -J option.

For example, -J-Xms32m sets the start up memory to 32 megabytes.


2416 bytes more | comments? | Printer Friendly Page  Send to a Friend | Score: 0
Posted by jalex on Monday, May 29, 2006 (00:05:00) (3352 reads)

Use DTrace as new Java Tool.

Go to all tips in

People who already started to use Solaris 10 probably have heard about DTrace, a dynamic instrumentation system. They also know that it was not Java "friendly". It was not possible to use it from your Java program. But thigns change dramatically now...

DTrace consists of a scripting language, named D (not to be confused with the fledgling D Programming Language). D probably stands for debugging, at least it is my belief.  Dtrace also has loadable kernel modules named “providersâ€? and "probes". When called upon, these “providersâ€? track and report system information. DTrace has several features that distinguish it from other similar systems:

  • It is very fast and dynamic. DTrace does not affect a system when not in use. Only those providers that are needed by a particular command are loaded and used.
  • It works both on the kernel-level and user-level.
  • It is very safe. You can not damage the system through its use.
  • It is very flexible. DTrace really is more a scripting language then it is a tool like truss or top.

The good news that you can use DTrace as a Java Tool as well. The JavaTM Platform, Standard Edition 6 (code-named Mustang), introduces Dynamic Tracing (DTrace) support within the Java HotSpot Virtual Machine.

The probes and providers included in the Mustang release make it possible for DTrace to collect performance data for your Java applications.
The Mustang release contains two built-in DTrace providers: hotspot and hotspot_jni. All probes published by these providers are user-level statically defined tracing (USDT) probes, accessed by the PID of the Java HotSpot Virtual Machine process.

The hotspot provider contains probes related to the following Java HotSpot Virtual Machine subsystems:
    •VM Lifecycle Probes: For VM initialization and shutdown
    •Thread Lifecycle Probes: For thread start and stop events
    •Classloading Probes: For class loading and unloading activity
    •Garbage Collection Probes: For system-wide garbage and memory pool collection
    •Method Compilation Probes: Indicating which methods are being compiled, and by which compiler
    •Monitor Probes: For all wait and notification events, plus contended monitor entry and exit events
    •Application Probes: For fine-grained examination of thread execution, method entry/method returns, and object allocation

All hotspot probes originate in the VM library (libjvm.so), and as such, are also provided from programs that embed the VM.

The hotspot_jni provider contains probes related to the JavaTM Native Interface (JNI), located at the entry and return points of all JNI methods.
In addition, the DTrace 1jstack action prints mixed-mode stack traces including both Java method and native function names.

References: Dynamic Tracing Support in the Java HotSpot Virtual Machine, White Paper


2139 bytes more | comments? | Printer Friendly Page  Send to a Friend | Score: 0
Posted by Javaaddict on Saturday, May 27, 2006 (01:00:00) (2566 reads)

Previous 1060 Stories (530 Pages, 2 Per Page) Next

530| 529| 528| 527| 526| 525| 524| 523| 522| 521| 520| 519| 518| 517| 516| 515| 514| 513| 512| 511| 510| 509| 508| 507| 506| 505| 504| 503| 502| 501| 500| 499| 498| 497| 496| 495| 494| 493| 492| 491| 490| 489| 488| 487| 486| 485| 484| 483| 482| 481| 480| 479| 478| 477| 476| 475| 474| 473| 472| 471| 470| 469| 468| 467| 466| 465| 464| 463| 462| 461| 460| 459|
458
| 457| 456| 455| 454| 453| 452| 451| 450| 449| 448| 447| 446| 445| 444| 443| 442| 441| 440| 439| 438| 437| 436| 435| 434| 433| 432| 431| 430| 429| 428| 427| 426| 425| 424| 423| 422| 421| 420| 419| 418| 417| 416| 415| 414| 413| 412| 411| 410| 409| 408| 407| 406| 405| 404| 403| 402| 401| 400| 399| 398| 397| 396| 395| 394| 393| 392| 391| 390| 389| 388| 387| 386| 385| 384| 383| 382| 381| 380| 379| 378| 377| 376| 375| 374| 373| 372| 371| 370| 369| 368| 367| 366| 365| 364| 363| 362| 361| 360| 359| 358| 357| 356| 355| 354| 353| 352| 351| 350| 349| 348| 347| 346| 345| 344| 343| 342| 341| 340| 339| 338| 337| 336| 335| 334| 333| 332| 331| 330| 329| 328| 327| 326| 325| 324| 323| 322| 321| 320| 319| 318| 317| 316| 315| 314| 313| 312| 311| 310| 309| 308| 307| 306| 305| 304| 303| 302| 301| 300| 299| 298| 297| 296| 295| 294| 293| 292| 291| 290| 289| 288| 287| 286| 285| 284| 283| 282| 281| 280| 279| 278| 277| 276| 275| 274| 273| 272| 271| 270| 269| 268| 267| 266| 265| 264| 263| 262| 261| 260| 259| 258| 257| 256| 255| 254| 253| 252| 251| 250| 249| 248| 247| 246| 245| 244| 243| 242| 241| 240| 239| 238| 237| 236| 235| 234| 233| 232| 231| 230| 229| 228| 227| 226| 225| 224| 223| 222| 221| 220| 219| 218| 217| 216| 215| 214| 213| 212| 211| 210| 209| 208| 207| 206| 205| 204| 203| 202| 201| 200| 199| 198| 197| 196| 195| 194| 193| 192| 191| 190| 189| 188| 187| 186| 185| 184| 183| 182| 181| 180| 179| 178| 177| 176| 175| 174| 173| 172| 171| 170| 169| 168| 167| 166| 165| 164| 163| 162| 161| 160| 159| 158| 157| 156| 155| 154| 153| 152| 151| 150| 149| 148| 147| 146| 145| 144| 143| 142| 141| 140| 139| 138| 137| 136| 135| 134| 133| 132| 131| 130| 129| 128| 127| 126| 125| 124| 123| 122| 121| 120| 119| 118| 117| 116| 115| 114| 113| 112| 111| 110| 109| 108| 107| 106| 105| 104| 103| 102| 101| 100| 99| 98| 97| 96| 95| 94| 93| 92| 91| 90| 89| 88| 87| 86| 85| 84| 83| 82| 81| 80| 79| 78| 77| 76| 75| 74| 73| 72| 71| 70| 69| 68| 67| 66| 65| 64| 63| 62| 61| 60| 59| 58| 57| 56| 55| 54| 53| 52| 51| 50| 49| 48| 47| 46| 45| 44| 43| 42| 41| 40| 39| 38| 37| 36| 35| 34| 33| 32| 31| 30| 29| 28| 27| 26| 25| 24| 23| 22| 21| 20| 19| 18| 17| 16| 15| 14| 13| 12| 11| 10| 9| 8| 7| 6| 5| 4| 3| 2| 1|


Home Code Examples Java Forum All Java Tips Books Submit News, Code... Search... Offshore Software Tech Doodling

RSS feed Java FAQ RSS feed Java FAQ News     

    RSS feed Java Forums RSS feed Java Forums

All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest 1999-2006 by Java FAQs Daily Tips.

Interactive software released under GNU GPL, Code Credits, Privacy Policy