জাভা হিপ সাইজ এবং মেমোরি ব্যবহৃত (লিনাক্স) সন্ধান করার জন্য কমান্ড-লাইন সরঞ্জাম?


171

জাভা অ্যাপ্লিকেশনটির হিপ সাইজ (এবং ব্যবহৃত মেমোরি) পরীক্ষা করার জন্য কি কোনও কমান্ড-লাইন সরঞ্জাম (লিনাক্স) রয়েছে?

আমি jmap মাধ্যমে চেষ্টা করেছি। তবে এটি তথ্য দেয়। ইডেন / পার্মজেন ইত্যাদির মতো অভ্যন্তরীণ মেমরি অঞ্চলগুলি সম্পর্কে যা আমার পক্ষে কার্যকর নয়।

আমি এরকম কিছু খুঁজছি:

  • সর্বাধিক স্মৃতি: 1 গিগাবাইট
  • ন্যূনতম স্মৃতি: 256 এমবি
  • হিপ মেমোরি: 700 এমবি
  • ব্যবহৃত স্মৃতি: 460 এমবি

এখানেই শেষ. আমি জানি যে আমি এটি জে কনসোল ইত্যাদিতে দেখতে পাচ্ছি, তবে আমার একটি কমান্ড-লাইন সরঞ্জাম প্রয়োজন (জেএমএক্স ইত্যাদি সক্ষম করতে পারে না) need

আপনি কি এই জাতীয় কোনও সরঞ্জাম / কমান্ড জানেন?

উত্তর:


149

প্রতিটি জাভা প্রক্রিয়াতে একটি থাকে pidযা আপনাকে প্রথমে jpsকমান্ডের সাহায্যে সন্ধান করা উচিত।

আপনার কাছে একবার পিড হয়ে গেলে, আপনি jstat -gc [insert-pid-here]আবর্জনা সংগ্রহ করা স্তূপের আচরণের পরিসংখ্যান সন্ধান করতে পারেন ।

  • jstat -gccapacity [insert-pid-here] মেমরি পুল উত্পাদন এবং স্থান ক্ষমতা সম্পর্কে তথ্য উপস্থাপন করবে।

  • jstat -gcutil [insert-pid-here]প্রতিটি প্রজন্মকে তার ক্ষমতার শতাংশ হিসাবে ব্যবহারের উপস্থাপন করবে। ব্যবহারের এক নজরে এক নজরে পেতে দরকারী।

ওরাকলের সাইটে jstat ডক্স দেখুন ।


11
jstatকোনও জেভিএমের সামগ্রিক মেমরির ব্যবহারটি যাচাই করার জন্য কোনও বিকল্পগুলির ব্যবহার করা উচিত তা কি প্রস্তাবনা রয়েছে ? আসুন আপনার সাথে জেভিএম শুরু বলে Xms=4gএবং Xmx=4gআর তোমাদের দেখতে কত যে স্মৃতি ইতিমধ্যেই ব্যবহার হয়?
বাসজিরো

1
"jstat -gcutil <pid> 250 N" 250 মিলিয়ন অন্তর সহ এন নমুনা গ্রহণ এবং সংশ্লিষ্ট স্থানগুলির শতাংশ হিসাবে আউটপুট প্রদর্শন করতে খুব দরকারী। ধন্যবাদ।
কেরেম

3
ওয়ার্থ থেকে লক্ষ উদ্ধৃতি jstatওরাকল জাভা 8 ম্যানুয়াল পৃষ্ঠা : This command is experimental and unsupported
patryk.beza

1
awk 'print {$3+$4+$6+$8}'জাভা 8 এর জাস্ট্যাট কলামগুলিতে সংক্ষিপ্ত ব্যবহারগুলি মুদ্রণ করতে পারে
সাইবারসোফট

অন্যান্য উত্তরগুলির সাথে সমস্যা ছিল, তবে একটি বেসিক ps -ef | grep javaআমাকে ভিএম আরগগুলি দেখিয়েছিল, যা আমার ক্ষেত্রে -Xmx মান অন্তর্ভুক্ত করে, যা আমার প্রয়োজন ছিল।
xdmoore

66

jvmtop হ'ল একটি কমান্ড-লাইন সরঞ্জাম যা হিপ সহ বেশ কয়েকটি মেট্রিকগুলিতে একটি লাইভ-ভিউ সরবরাহ করে।

ভিএম ওভারভিউ মোডের উদাহরণ আউটপুট:

 JvmTop 0.3 alpha (expect bugs)  amd64  8 cpus, Linux 2.6.32-27, load avg 0.12
 http://code.google.com/p/jvmtop

  PID MAIN-CLASS      HPCUR HPMAX NHCUR NHMAX    CPU     GC    VM USERNAME   #T DL
 3370 rapperSimpleApp  165m  455m  109m  176m  0.12%  0.00% S6U37 web        21
11272 ver.resin.Resin [ERROR: Could not attach to VM]
27338 WatchdogManager   11m   28m   23m  130m  0.00%  0.00% S6U37 web        31
19187 m.jvmtop.JvmTop   20m 3544m   13m  130m  0.93%  0.47% S6U37 web        20
16733 artup.Bootstrap  159m  455m  166m  304m  0.12%  0.00% S6U37 web        46

এটি প্রকৃতপক্ষে একটি দুর্দান্ত সরঞ্জাম, ধরণের হটোপ তবে জাস্ট্যাট থেকে মেট্রিক্স। পরামর্শের জন্য ধন্যবাদ, এমআরআলওয়াসার।
oski86

65

এই কমান্ডটি বাইটগুলিতে কনফিগার করা হ্যাপ মাপ দেখায়।

java -XX:+PrintFlagsFinal -version | grep HeapSize

এটি ইসি 2 তে অ্যামাজন এএমআইতেও কাজ করে।


26
এটি এই প্রশ্নের উত্তর দেয় না, যা কোনও প্রক্রিয়াটির হিপ ব্যবহার কীভাবে পরীক্ষা করতে হয় তা বিশেষভাবে জিজ্ঞাসা করে। কমান্ডটি এখানে সমস্ত প্রক্রিয়া জুড়ে JVM ডিফল্ট তালিকাভুক্ত করে।
ম্যাডব্রেক্স

10
তবুও, গ্লোবাল হ্যাপের আকারটি কীভাবে সন্ধান করতে হয় তার জন্য গুগল অনুসন্ধানের মাধ্যমে এই পৃষ্ঠায় আসা আমার পক্ষে খুব সহায়ক একটি উত্তর।
জোহান

@ জম্পিং_মোনকি অপ্রত্যক্ষ, ভুল নয়। আপনি যা বলছেন তা যদি সত্য হয় তবে উত্তরটি সম্পাদনা করা উচিত বা নতুন উত্তর যুক্ত করতে নির্দ্বিধায় আপনার উচিত।
ম্যাডব্রেকস

42

এটি চেষ্টা করুন এটি উবুন্টু এবং রেডহ্যাটে কাজ করেছে:

java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'

উইন্ডোজ জন্য:

java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"

ম্যাকের জন্য

java -XX:+PrintFlagsFinal -version | grep -iE 'heapsize|permsize|threadstacksize'

এই সমস্ত কমান্ডের আউটপুট নীচের আউটপুট অনুরূপ:

uintx InitialHeapSize                          := 20655360        {product}
uintx MaxHeapSize                              := 331350016       {product}
uintx PermSize                                  = 21757952        {pd product}
uintx MaxPermSize                               = 85983232        {pd product}
intx ThreadStackSize                           = 1024            {pd product}
java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b05)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)

এমবিতে আকারটি খুঁজতে, মানটি (1024 * 1024) দিয়ে ভাগ করুন।


পিড দ্বারা নির্দিষ্ট জাভা প্রক্রিয়াটির স্তূপ, পার্সামাইজ, ... দ্বারা পৃথক মেমরির ব্যবহার কীভাবে পাবেন?
গ্যারি গৌহ

3
@ গ্যারিগৌহ এটি ডিফল্ট গাদা আকার। চলমান অ্যাপ্লিকেশনটির ব্যবহার সন্ধানের জন্য আপনার কোডের মধ্যে এটি করা উচিত বা আপনি জকনসোল ব্যবহার করতে পারেন। আমি জানি এটির অন্যান্য উপায়ও হওয়া উচিত।
padippist

2
jstat -gc <vmid>চলমান অ্যাপ্লিকেশনগুলির জন্য ব্যবহার করুন ।
মিখা উইডেনম্যান

27

জেএমএক্স ব্যবহার না করে, যা সর্বাধিক সরঞ্জামগুলি ব্যবহার করে আপনি যা করতে পারেন তা হ'ল

jps -lvm

এবং নির্ধারণ করুন যে সেটিংসটি কমান্ড লাইন অপশন থেকে হবে।

আপনি ডিফল্টভাবে জেএমএক্স ব্যতীত গতিশীল তথ্য পেতে পারবেন না তবে এটি করার জন্য আপনি নিজের পরিষেবাটি লিখতে পারেন।

বিটিডাব্লু: আমি জে কনসোলের চেয়ে ভিজুয়ালভিএম ব্যবহার করতে পছন্দ করি।


25

ভিজ্যুয়াল দিক সহ একটি কমান্ড লাইন সরঞ্জাম রয়েছে - jvm-mon । এটি কমান্ড লাইনের জন্য একটি জেভিএম মনিটরিং সরঞ্জাম যা ডিসপ্লে করে:

  • গাদা ব্যবহার, আকার এবং সর্বোচ্চ
  • jvm প্রক্রিয়া
  • সিপিইউ এবং জিসি ব্যবহার
  • শীর্ষ থ্রেড

সরঞ্জামটি খোলার সময় মেট্রিক এবং চার্ট আপডেট হয়।

নমুনা: JVM-Mon


1
কেবল খেয়াল করার জন্য যে jvm-mon কেবল জাভ 8 এর জন্য চলে
tmanolatos

1
^ যে এখন জাভা 11. সমর্থন একটি নতুন সংস্করণ আছে
Andrejs

11

পার্টিতে দেরীতে, তবে খুব সহজ সমাধান হ'ল jpsstat.sh স্ক্রিপ্টটি ব্যবহার করা। এটি একটি সরল লাইভ বর্তমান মেমরি , সর্বোচ্চ মেমরি এবং সিপিইউ ব্যবহারের বিশদ সরবরাহ করে।

  • এতে যান GitHub প্রকল্পের ডাউনলোড jpsstat.sh ফাইল
  • Jpsstat.sh এবং গোটো অনুমতি ট্যাবে রাইট ক্লিক করুন এবং এটিকে সম্পাদনযোগ্য করে তুলুন
  • এখন নিম্নলিখিত কমান্ড ./jpsstat.sh ব্যবহার করে স্ক্রিপ্টটি চালান

এখানে স্ক্রিপ্টের নমুনা আউটপুট -

=====  ======  =======  =======  =====
 PID    Name   CurHeap  MaxHeap  %_CPU
=====  ======  =======  =======  =====
2777   Test3      1.26     1.26    5.8
2582   Test1      2.52     2.52    8.3
2562   Test2      2.52     2.52    6.4

সুস লিনাক্সের বাক্সটি থেকে কাজ করা মনে হচ্ছে না (লাইন 38: ডিক্লেয়ার: -এ: অবৈধ বিকল্প)
ক্রিস

মনে হচ্ছে যে আপনি সহযোগী অ্যারে ঘোষণায় ত্রুটি পেয়েছেন যার জন্য bash> = 4 দরকার Also এছাড়াও "sh jpsstat.sh" হিসাবে স্ক্রিপ্টটি চালানোর কারণে আর একটি সমস্যা হতে পারে। যদি তা হয় তবে স্ক্রিপ্টটি "./jpsstat.sh" হিসাবে চালানোর চেষ্টা করুন।
amarjitAnand

9

আমার ক্ষেত্রে আমাকে ডকার পাত্রে ফ্ল্যাগগুলি পরীক্ষা করতে হবে যা বেশিরভাগ বেসিক ইউটিলিটিগুলি ছিল না (পিএস, pstree ...)

ব্যবহার করে jpsআমি জেভিএম চলার পিআইডি পেয়েছি (আমার ক্ষেত্রে 1) এবং তারপরে jcmd 1 VM.flagsআমি চলমান জেভিএম থেকে পতাকা পেয়েছি।

এটি আপনার কাছে কী আদেশগুলি উপলব্ধ রয়েছে তার উপর নির্ভর করে তবে এটি কারওর পক্ষে সহায়তা করতে পারে। :)


8

জাভা 8 এবং এর থেকে উপরে , আপনি নীচের কমান্ডটি ব্যবহার করতে পারেন:

jcmd JAVA_PROCESS_IDGC.heap_info

আপনি আউটপুট থেকে যোগফল, মোট এবং ব্যবহৃত মেমরির উল্লেখ করতে পারেন।

Sample Command And Output: jcmd 9758 GC.heap_info

PSYoungGen  total 1579520K, used 487543K [0x0000000751d80000, 0x00000007c0000000, 0x00000007c0000000)
  eden space 1354240K, 36% used [0x0000000751d80000,0x000000076f99dc40,0x00000007a4800000)
  from space 225280K, 0% used [0x00000007b2400000,0x00000007b2400000,0x00000007c0000000)
  to   space 225280K, 0% used [0x00000007a4800000,0x00000007a4800000,0x00000007b2400000)
ParOldGen       total 3610112K, used 0K [0x0000000675800000, 0x0000000751d80000, 0x0000000751d80000)
  object space 3610112K, 0% used [0x0000000675800000,0x0000000675800000,0x0000000751d80000)
Metaspace       used 16292K, capacity 16582K, committed 16896K, reserved 1064960K
  class space    used 1823K, capacity 1936K, committed 2048K, reserved 1048576K

জেসিএমডি কমান্ডের আরও তথ্যের জন্য, লিঙ্কটি দেখুন: https://docs.oracle.com/javase/8/docs/technotes/guides/troubleshoot/tooldescr006.html


1
আপনার আপনার মন্তব্যটি সংশোধন করা দরকার। GC.heap_info জাভা 9 এবং তারপরে উপলব্ধ। এটি জাভাতে উপলভ্য নয় 8. এখানে আরও একটি থ্রেড দেখুন: স্ট্যাকওভারফ্লো
পাভেল মোলচানভ

@ পাভেলমোলচানভ আমি jdk1.8.0_172 এ কমান্ডটি ব্যবহার করতে সক্ষম। / লাইবারি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / জেডকি 1.8.0_172.jdk/ সামগ্রী / হোম / বিন / জেএমসিএমডি 98270 জিসি.হীপ_ইনফো o আপনি যদি পারেন তবে রেফারযুক্ত থ্রেডে তথ্য যুক্ত করুন পাশাপাশি সেখানে কোনও মন্তব্য যুক্ত করার মতো আমার এখনকার যথেষ্ট খ্যাতি নেই।
বৈভব গুপ্ত

আপনি ম্যাক ব্যবহার করেন? আপনি কি ওরাকল জেডিকে ব্যবহার করেন? আমি জানি না কীভাবে এটি আপনার jdk1.8.0_172 এ উপলব্ধ হতে পারে, ওরাকল এই বৈশিষ্ট্যটি কেবল জাভা 9 এবং তার মধ্যে ডকুমেন্ট করেছে: ডকস.ওরকল / জাভ্যাস / 9 / টোলস / জেএমসিডি.ডি.টি.এম . এটি জাভা ৮ এর জন্য ওরাকল জেডিকে ডকুমেন্টেশনে নেই, আপনি নীচে যে লিঙ্কটি দিয়েছেন তা উল্লেখ করা হয়নি: ডকস.ওরকল
পাভেল

আরেকটি প্রশ্ন. আপনার উদাহরণে 98270 প্রক্রিয়া চলমান জেডিকে সংস্করণটি পরীক্ষা করুন। জিসিএমডি প্রক্রিয়াটির জেভিএম থেকে প্রাপ্ত কমান্ড পায় (আপনার ক্ষেত্রে 98270)। যদি প্রক্রিয়াটি 98270 প্রক্রিয়াটি বিভিন্ন জেডিকে (জেডিকে 9 বা ততোধিক) দিয়ে সম্পাদিত হয়, আপনি দেখতে পাবেন জিসি.ইপ_ইনফো কমান্ডটি নিজেই জেসিএমডি তে রয়েছে জাভা ৮ থেকে উপলভ্য কমান্ড বিভিন্ন প্রসেসের জন্য পৃথক হতে পারে। উপলভ্য কমান্ডগুলি কার্যকর করতে: jcmp <PID> সহায়তা।
পাভেল মোলচানভ

1
এফডাব্লুআইডাব্লু, GC.heap_infoঅবশ্যই ওপেনজেডকে 8 তে উপলব্ধ। সম্ভবত শুধুমাত্র সাম্প্রতিক সংস্করণে? আমি এটি ব্যবহার করছি: 8u191-b12-2ubuntu0.18.04.1
প্রতি লন্ডবার্গ

7

যে কোনও পদ্ধতির আপনাকে মোটামুটি একই নম্বর দেওয়া উচিত। -X..m -X..xসমস্ত প্রজন্মের জন্য গাদা বরাদ্দ করা সর্বদা একটি ভাল ধারণা । তারপরে আপনি গ্যারান্টি দিতে পারেন এবং কী পরামিতিগুলি পাস হয়েছে এবং সেজন্য ব্যবহৃত হচ্ছে তা দেখতে PS করতে পারেন।

প্রকৃত মেমরি ব্যবহারের জন্য, আপনি মোটামুটি ভিআইআরটি (বরাদ্দ এবং ভাগ করা) এবং আরএস (প্রকৃত ব্যবহৃত) জাস্টট মানগুলির সাথে তুলনা করতে পারেন:

জাভা 8 এর জন্য, এই মানগুলির জন্য জাস্ট্যাট দেখুন । ধরে নিচ্ছি আপনি কোনও এমএম্যাপ বা ফাইল প্রসেসিং ছাড়াই একটি সাধারণ ক্লাস চালাচ্ছেন।

$ jstat -gccapacity 32277
 NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC
215040.0 3433472.0  73728.0  512.0  512.0  67072.0   430080.0  6867968.0   392704.0   392704.0      0.0 1083392.0  39680.0      0.0 1048576.0   4864.0   7225     2
$ jstat -gcutil 32277
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT
  6.25   0.00   7.96  18.21  98.01  95.29   7228   30.859     2    0.173   31.032

সর্বাধিক :

     NGCMX + S0C + S1C + EC    + OGCMX   + MCMX    + CCSMX
   3433472 + 512 + 512 + 67072 + 6867968 + 1083392 + 1048576 = 12 GB

(মোটামুটি কাছাকাছি এবং ভিআইআরটি মেমরির নীচে)

সর্বাধিক (ন্যূনতম, ব্যবহৃত):

215040 + 512 + 512 + 67072 + 430080  + 39680    +  4864  = ~ 1GB

(মোটামুটি আরইএস মেমরির কাছাকাছি)

"আমাকে এ সম্পর্কে উদ্ধৃতি দেবেন না" তবে ভিআইআরটি মেমি বরাদ্দ করা ম্যাক্স মেমোরির প্রায় কাছাকাছি বা বেশি তবে যতক্ষণ স্মৃতি ব্যবহার করা হচ্ছে শারীরিক স্মৃতিতে ফ্রি / উপলভ্য, জেভিএম মেমরির ব্যতিক্রম ছুঁড়ে না। বাস্তবে, জেভিএম স্টার্টআপে এমনকি ওএসে অদলবদল বন্ধ থাকা সত্ত্বেও সর্বাধিক মেমরির পরীক্ষা করা হয় না memory ভার্চুয়াল মেমরিটি একটি জাভা প্রক্রিয়া দ্বারা সত্যই কী ব্যবহৃত হয়েছিল তার আরও ভাল ব্যাখ্যা এখানে আলোচনা করা হয়েছে


4

প্রথমে নীচের যে কোনও একটি থেকে তালিকাভুক্ত প্রক্রিয়া থেকে প্রথম নম্বরটি প্রক্রিয়া আইডি পান: (বা ps aux | grep javaআপনি যদি এটি পছন্দ করেন তবে কেবল ব্যবহার করুন )

jps -lvm

তারপরে প্রক্রিয়া আইডিটি এখানে ব্যবহার করুন:

jmap -heap $MY_PID 2>/dev/null | sed -ne '/Heap Configuration/,$p';
jmap -permstat $MY_PID

2

ব্যবহার topকমান্ড প্রোগ্রামের মেমোরি ব্যবহার চেক করতে সহজ উপায়। RESকলামটি প্রকৃত শারীরিক স্মৃতি দেখায় যা কোনও প্রক্রিয়া দ্বারা দখল করা।

আমার ক্ষেত্রে, আমি জাভাতে একটি 10 ​​জি ফাইল পড়েছিলাম এবং প্রতিবার আমি স্মৃতি ব্যতিক্রম পেয়েছিলাম। RESকলামের মানটি -Xmxবিকল্প সেট মানটিতে পৌঁছে যখন এটি ঘটেছিল । তারপরে মেমরি বাড়িয়ে -Xmxবিকল্পটি ব্যবহার করে সবকিছু ঠিকঠাক হয়ে গেল।


3
শীর্ষ কমান্ডটি দেখায় যে JVM কে কতগুলি ওএস দেওয়া হয়। এই ছেলেরা জিজ্ঞাসা করছে যে আমরা কীভাবে জেভিএম-এর অভ্যন্তরে গাদা স্থান ব্যবহার করতে পারি। জেভিএম 10 জি ব্যবহার করছে তার অর্থ এই নয় যে আসল হিপ স্পেসটি 10 ​​জি ডেটা দিয়ে পূর্ণ, কারণ আপনি প্রক্রিয়াটি না মেরে জেভিএম প্রায় কখনওই হিপ থেকে ওএসে মেমরি ফিরিয়ে দেয় না।
লাইনহর

2

জাভা হ্যাপ আকারের ক্ষেত্রে, লিনাক্সে, আপনি ব্যবহার করতে পারেন

ps aux | grep java

অথবা

ps -ef | grep java

এবং সুনির্দিষ্ট প্রাথমিক এবং সর্বাধিক গাদা আকার সন্ধান করতে -Xms, -Xmx সন্ধান করুন।

তবে, যদি আপনি আগ্রহী জাভা প্রক্রিয়াটির জন্য -Xms বা -Xmx অনুপস্থিত থাকে তবে এর অর্থ আপনার জাভা প্রক্রিয়াটি ডিফল্ট হিপ আকার ব্যবহার করছে। আপনি ডিফল্ট আকারগুলি জানতে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন।

java -XX:+PrintFlagsFinal -version | grep HeapSize

বা একটি নির্দিষ্ট jvm, উদাহরণস্বরূপ,

/path/to/jdk1.8.0_102/bin/java -XX:+PrintFlagsFinal -version | grep HeapSize

এবং ইনিশিয়ালহ্যাপসাইজ এবং ম্যাক্সহ্যাপসাইজ সন্ধান করুন যা বাইটে রয়েছে।


1

Jrockit ব্যবহার করে jrcmd কমান্ড লাইন সরঞ্জামটি ব্যবহার করে দেখুন। উদাহরণ স্বরূপ:

$ jrcmd 5127 print_memusage
5127:
Total mapped                  1074596KB           (reserved=3728KB)
-              Java heap       786432KB           (reserved=0KB)
-              GC tables        26316KB          
-          Thread stacks        13452KB           (#threads=34)
-          Compiled code         9856KB           (used=9761KB)
-               Internal          840KB          
-                     OS        15036KB          
-                  Other       146632KB          
-        Java class data        75008KB           (malloced=74861KB #103221 in 18709 classes)
- Native memory tracking         1024KB           (malloced=102KB #8)

Heap_diagnostics এর মতো আরও কমান্ডের জন্য তাদের তালিকাতে "jrcmd সহায়তা" ব্যবহার করুন।

https://blogs.oracle.com/jrockit/entry/why_is_my_jvm_process_larger_t


1
jstat -gccapacity javapid  (ex. stat -gccapacity 28745)
jstat -gccapacity javapid gaps frames (ex.  stat -gccapacity 28745 550 10 )

উপরের কমান্ডের নমুনা ও / পি

NGCMN    NGCMX     NGC     S0C  
87040.0 1397760.0 1327616.0 107520.0 

NGCMN   Minimum new generation capacity (KB).
NGCMX   Maximum new generation capacity (KB).
NGC Current new generation capacity (KB).

Http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstat.html এ সম্পর্কে আরও বিশদ পান


1

আপনি যেমন অনুরোধ করেছেন তেমন ফর্ম্যাটে হিপ মেমরিটি মুদ্রণ করার মতো কোনও সরঞ্জাম এখন পর্যন্ত নেই , রানটাইম ক্লাসের সাহায্যে জাভা প্রোগ্রাম লিখতে ,

public class TestMemory {

public static void main(String [] args) {

    int MB = 1024*1024;

    //Getting the runtime reference from system
    Runtime runtime = Runtime.getRuntime();

    //Print used memory
    System.out.println("Used Memory:" 
        + (runtime.totalMemory() - runtime.freeMemory()) / MB);

    //Print free memory
    System.out.println("Free Memory:" 
        + runtime.freeMemory() / mb);

    //Print total available memory
    System.out.println("Total Memory:" + runtime.totalMemory() / MB);

    //Print Maximum available memory
    System.out.println("Max Memory:" + runtime.maxMemory() / MB);
}

}

রেফারেন্স: https://viralpatel.net/blogs/getting-jvm-heap-size-used-mmory-total-memory- using-java- runtime/


এটা ভুল. jmap -heap <pid> এই তথ্য দেয়
vsingh

0

উপরে থেকে আপনার ওয়েব অ্যাপ / জাভা প্রক্রিয়াটির প্রসেস আইডি সন্ধান করুন। হ্যাপ বরাদ্দ পেতে jmap হিপ ব্যবহার করুন। আমি এডাব্লুএস-ইসি 2 এ স্থিতিস্থাপক বিনস্টালকটি পরীক্ষা করেছি tested

অ্যাপ্লিকেশনটির জন্য আপনি 3 গিগাবাইটের সর্বোচ্চ গাদা নীচে ছবিতে দেখতে পারেন

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.