အမြန်အဖြေ- Linux တွင် thread dump နှင့် heap dump ကို သင်မည်သို့ယူမည်နည်း။

အပလီကေးရှင်းသည် အမိန့်ပေးမုဒ်တွင် အလုပ်လုပ်နေပါက ပြဿနာဖြစ်ပွားချိန်တွင် CTRL+Fn+B (Windows အတွက်) နှင့် CTRL+ (Linux အတွက်) ကိုနှိပ်ခြင်းဖြင့် thread dump စုဆောင်းနိုင်ပါသည်။ ၎င်းသည် command prompt တွင် thread dump ကိုထုတ်ပေးလိမ့်မည်။

သင် Linux တွင် thread dump ကိုမည်သို့ယူသနည်း။

jstack ကိုအသုံးပြု၍ thread dump တစ်ခုဖန်တီးရန်-

  1. ဖြစ်စဉ်ကို ဖော်ထုတ်ပါ။ Ctrl + Shift + Esc ကိုနှိပ်ပြီး Java (Confluence) လုပ်ငန်းစဉ်၏ Process ID ကိုရှာပါ။ …
  2. jstack ကိုဖွင့်ပါ။ Single Thread Dump တစ်ခုကို ဖမ်းယူရန်။ ဤ command သည် process id ၏ thread dump တစ်ခုယူပါမည်။ ဤအခြေအနေတွင် pid သည် 22668:

၂၉ окт ၂၀၁၈ ခုနှစ်။

Linux တွင် heap dump ကို သင်မည်သို့ယူမည်နည်း။

ခြေလှမ်းများ:

  1. စီမံခန့်ခွဲရေးခလုတ်ကို စတင်ပါ။
  2. လမ်းကြောင်းပြကွက်တွင်၊ ပြဿနာဖြေရှင်းခြင်း > Java အမှိုက်ပုံများနှင့် cores များကို နှိပ်ပါ။
  3. သင် heap dump ကိုထုတ်လုပ်လိုသော server_name ကိုရွေးချယ်ပါ။
  4. သင်၏သတ်မှတ်ထားသောဆာဗာအတွက် heap dump ကိုထုတ်လုပ်ရန် Heap dump ကိုနှိပ်ပါ။

၈ янв။ ၂၀၁၅ ခုနှစ်။

heap dump နှင့် thread dump ဟူသည် အဘယ်နည်း။

thread dump သည် live thread များအားလုံး၏ stacks များဖြစ်သည်။ ထို့ကြောင့် အက်ပ်တစ်ခုသည် အချိန်နှင့်တစ်ပြေးညီဖြစ်နေသည်ကို ပိုင်းခြားစိတ်ဖြာရန် အသုံးဝင်ပြီး အချို့သော 'execution' ပြဿနာများ (ဥပမာ thread deadlock) ကိုရှာဖွေရာတွင် အသုံးဝင်ပါသည်။ heap dump သည် Java heap memory ၏ အခြေအနေတစ်ခုဖြစ်သည်။

Linux တွင် thread dump ဆိုတာဘာလဲ။

thread dump သည် Java Virtual Machine (JVM) တွင် လက်ရှိလုပ်ဆောင်နေသော Java thread များအားလုံး၏စာရင်းတစ်ခုဖြစ်သည်။ JVM မှ thread dump များကိုယူရန်နည်းလမ်းများစွာရှိသည်။

မည်သည့် thread dump ပါ၀င်သနည်း။

thread dump သည် လုပ်ငန်းစဉ်၏ တစ်စိတ်တစ်ပိုင်းဖြစ်သော thread များအားလုံး၏ အခြေအနေကို လျှပ်တစ်ပြက်တစ်ခုဖြစ်သည်။ စာတွဲတစ်ခုစီ၏ အခြေအနေကို တွဲတစ်ခုစီ၏ အစုအစည်း၏ အကြောင်းအရာများကို ပြသသည့် အစုအဝေးခြေရာကြောင်းဟု ခေါ်သည်။ စာတွဲအချို့သည် သင်အသုံးပြုနေသည့် Java အပလီကေးရှင်းနှင့်သက်ဆိုင်ပြီး အချို့သောအကြောင်းအရာများသည် JVM အတွင်းပိုင်းလိုင်းများဖြစ်သည်။

Linux တွင် thread တစ်ခုအလုပ်လုပ်နေသလား ဘယ်လိုစစ်ဆေးရမလဲ။

ထိပ်တန်း command ကို အသုံးပြု

ထိပ်တန်း command သည် စာတွဲတစ်ခုချင်းစီ၏ အချိန်နှင့်တစ်ပြေးညီ ကြည့်ရှုမှုကို ပြသနိုင်သည်။ ထိပ်တန်းအထွက်တွင် ချည်အမြင်များကို ဖွင့်ရန်၊ "-H" ရွေးချယ်မှုဖြင့် အပေါ်ကို ခေါ်ဆိုပါ။ ၎င်းသည် Linux လိုင်းများအားလုံးကို စာရင်းပြုစုမည်ဖြစ်သည်။ 'H' ခလုတ်ကို နှိပ်ခြင်းဖြင့် အပေါ်မှ လုပ်ဆောင်နေချိန်တွင် thread View mode ကို ဖွင့် သို့မဟုတ် ပိတ်နိုင်သည်။

Wsadmin အမှိုက်ပုံးကို မည်သို့ပြုလုပ်ရမည်နည်း။

Windows ရှိ WebSphere တွင် Heapdump ကို ကိုယ်တိုင်ထုတ်လုပ်နည်း

  1. Windows Command Prompt မှ wsadmin ကိုရိုက်ထည့်ပါ။ wsadmin command prompt ကိုရယူရန် bat command …
  2. ပြဿနာအပလီကေးရှင်းဆာဗာကို ကိုင်တွယ်ရယူပါ- wsadmin> set jvm [$AdminControl completeObjectName type=JVM,process=server1,*] …
  3. heapdump တစ်ခုကို ဖန်တီးပါ- wsadmin> $AdminControl $jvm generateHeapDump ကို ခေါ်ဆိုပါ။

၂၃ июн။ ၂၀၂၀ ခုနှစ်။

Linux တွင် heap dump ဆိုသည်မှာ အဘယ်နည်း။

အမှိုက်ပုံသည် တစ်ချိန်တည်းတွင် JVM ရှိ မမ်မိုရီအတွင်းရှိ အရာဝတ္ထုအားလုံးကို လျှပ်တစ်ပြက်ရိုက်ချက်တစ်ခုဖြစ်သည်။ ၎င်းတို့သည် မှတ်ဉာဏ်ယိုစိမ့်မှုပြဿနာများကို ဖြေရှင်းရန်နှင့် Java အပလီကေးရှင်းများတွင် မှတ်ဉာဏ်အသုံးပြုမှုကို အကောင်းဆုံးဖြစ်အောင် လုပ်ဆောင်ရန် အလွန်အသုံးဝင်သည်။ Heap dump များကို အများအားဖြင့် binary format hprf ဖိုင်များဖြင့် သိမ်းဆည်းထားသည်။

အမှိုက်ပုံနှင့် ကြိုးအမှိုက်ပုံတို့ကို သင်မည်ကဲ့သို့ ခွဲခြမ်းစိတ်ဖြာပါသနည်း။

Heap Dump Analyzer

Eclipse Memory Analyzer Tool (MAT) ကို အမှိုက်ပုံးဖိုင်များကို ခွဲခြမ်းစိတ်ဖြာရန် ( FullGCs မတိုင်မီ အမှိုက်ပုံများကို ဖမ်းယူခြင်းကို ကြည့်ပါ ) မမ်မိုရီအတွင်းရှိ အရာဝတ္ထုများပါရှိသော အရာဝတ္တုများပါရှိသော မမ်မိုရီပြဿနာများကို ဖြေရှင်းရန်အတွက် အသုံးပြုပါသည်။ heap dump ဖိုင်တစ်ခုစီကို အချိန်နှင့်တပြေးညီ လျှပ်တစ်ပြက်အဖြစ် ယူဆနိုင်ပြီး သီးခြား JVM threads များမှ သိမ်းပိုက်ထားသော မမ်မိုရီကို အသေးစိတ်ဖော်ပြနိုင်သည်။

ဘယ်အချိန်မှာ thread dump ယူရမလဲ။

Non- လျော့နည်းထိုးဖောက် အမှားရှာပြင်ခြင်း။ အပ်ချည်မျှင်သော့ခတ်မှုများ၊ မသေမချာသိရှိနိုင်မှု၊ စနစ်ရင်းမြစ်ငြင်းခုံမှုများနှင့် သက်ဆိုင်သည့်အရာအားလုံးကို ခွဲခြမ်းစိတ်ဖြာရန် သင့်လျော်သည်ဟုမြင်သည့်အခါတိုင်း thread dumps များကို သင်လုပ်ဆောင်နိုင်သည်... ထို့ကြောင့် JVM ပျက်ကျပြီးနောက်သာမက၊ ကျွန်ုပ်တို့ အံဝင်ခွင်ကျဖြစ်သည့်အခါတိုင်း thread dump ကို အဆင်ပြေချောမွေ့စေရန် ကိရိယာများရှိပါသည်။

အမှိုက်ပုံမှာ ဘာတွေပါလဲ။

အမှိုက်ပုံများသည် Java အမှိုက်ပုံပေါ်တွင် အသုံးပြုနေသည့် Java™ အပလီကေးရှင်းတစ်ခုမှ အသုံးပြုနေသည့် တိုက်ရိုက်အရာဝတ္တုများအားလုံးကို လျှပ်တစ်ပြက်တစ်ခုပါရှိသည်။ လိပ်စာ၊ အမျိုးအစား၊ အတန်းအမည် သို့မဟုတ် အရွယ်အစားကဲ့သို့သော အရာဝတ္ထုတစ်ခုစီအတွက် အသေးစိတ်အချက်အလက်များကို သင်ရယူနိုင်ပြီး အခြားအရာဝတ္ထုများကို ရည်ညွှန်းခြင်းရှိမရှိ၊

အမှိုက်ပုံးကို ဘယ်အချိန်မှာ ယူရမလဲ။

Heap Dump ယူခြင်း။

ပြည်တွင်းသုံး အပလီကေးရှင်းတစ်ခု၏ အစုအပုံတစ်ခုကို ယူရန် Java VisualVM ကို သင်အသုံးပြုနိုင်သည်။ အမှိုက်ပုံးတစ်ခုယူရန် Java VisualVM ကို သင်အသုံးပြုသောအခါ၊ ဖိုင်သည် ၎င်းကို ရှင်းလင်းပြတ်သားစွာ မသိမ်းဆည်းမချင်း ယာယီသာဖြစ်သည်။ အကယ်၍ သင်သည် ဖိုင်ကို မသိမ်းဆည်းပါက၊ အပလီကေးရှင်းမှ ရပ်စဲသွားသည့်အခါ ဖိုင်ကို ဖျက်ပစ်မည်ဖြစ်သည်။

thread dump ဖိုင်ကို ဘယ်လိုဖတ်ရမလဲ။

ဘယ်ဘက်ရှိ အလုပ်သည် လက်ရှိလုပ်ဆောင်နေသည့် လုပ်ငန်းစဉ်များစာရင်းကို ညွှန်ပြသည်။ သင်အချက်အလက်များကို လိုချင်သည့် လုပ်ငန်းစဉ်ကို နှိပ်ပါ၊ နှင့် thread အချက်အလက်များကို အချိန်နှင့်တပြေးညီ စစ်ဆေးရန် thread တက်ဘ်ကို ရွေးချယ်ပါ။ thread dump ဖိုင်ကိုရယူရန် ညာဘက်အပေါ်ထောင့်ရှိ Thread Dump ခလုတ်ကို နှိပ်ပါ။

PID ကို ဘယ်လိုသတ်လဲ။

လုပ်ငန်းစဉ်တစ်ခုကိုသတ်ရန် kill command ကိုအသုံးပြုပါ။ လုပ်ငန်းစဉ်တစ်ခု၏ PID ကိုရှာရန်လိုအပ်ပါက ps command ကိုသုံးပါ။ ရိုးရှင်းသော kill command ဖြင့် process တစ်ခုကို သတ်ရန် အမြဲကြိုးစားပါ။ ဤသည်မှာ လုပ်ငန်းစဉ်တစ်ခုကို သတ်ပစ်ရန် အသန့်ရှင်းဆုံးနည်းလမ်းဖြစ်ပြီး လုပ်ငန်းစဉ်ကို ပယ်ဖျက်ခြင်းကဲ့သို့ အကျိုးသက်ရောက်မှုရှိသည် ။

Linux တွင် Java လုပ်ငန်းစဉ်ကို မည်သို့လုပ်ဆောင်နေသနည်း ။

လုပ်ငန်းစဉ် Runtimes ကိုရှာရန် Linux Commands

  1. အဆင့် 1- ps Command ကိုအသုံးပြုခြင်းဖြင့် Process id ကိုရှာပါ။ x $ps -ef | grep java ။ …
  2. အဆင့် 2- လုပ်ငန်းစဉ်တစ်ခု၏ Runtime သို့မဟုတ် စတင်ချိန်ကို ရှာပါ။ သင့်တွင် PID ရှိသည်နှင့်တစ်ပြိုင်နက်၊ သင်သည် ထိုလုပ်ငန်းစဉ်အတွက် proc လမ်းညွှန်တွင် ကြည့်ရှုနိုင်ပြီး လုပ်ငန်းစဉ်စတင်သည့်အချိန်ဖြစ်သည့် ဖန်တီးမှုရက်စွဲကို စစ်ဆေးနိုင်သည်။
ဒီပို့စ်ကိုကြိုက်လား။ ကျေးဇူးပြု၍ သင်၏မိတ်ဆွေများကိုမျှဝေပါ။
OS ယနေ့