มีเครื่องมือบรรทัดคำสั่งสำหรับการตรวจสอบการใช้ขนาดฮีพของ Java ใน CentOS หรือไม่?
มีเครื่องมือบรรทัดคำสั่งสำหรับการตรวจสอบการใช้ขนาดฮีพของ Java ใน CentOS หรือไม่?
คำตอบ:
ใช้jps
และjstack
เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับกระบวนการ Java jstat
สามารถเป็นประโยชน์สำหรับการตรวจสอบสถิติของ Java
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
คุณอาจต้องการวิเคราะห์การใช้หน่วยความจำ
GCViewอาจช่วยให้คุณเห็นภาพสิ่งที่บันทึกของ GC- แสดง
หากคุณเปิดใช้งาน gc-log แล้วคุณสามารถใช้tail -f
บันทึกนั้นได้
ลองมันใช้งานได้ใน Ubuntu และ redhat:
java -XX:+PrintFlagsFinal -version | grep -iE 'HeapSize|PermSize|ThreadStackSize'
สำหรับ windows:
java -XX:+PrintFlagsFinal -version | findstr /i "HeapSize PermSize ThreadStackSize"
สำหรับ mac
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 เวอร์ชัน "1.7.0_05" Java (TM) SE สภาวะแวดล้อมรันไทม์ (บิลด์ 1.7.0_05-b05) Java HotSpot (TM) เซิร์ฟเวอร์ 64-Bit VM (สร้าง 23.1-b03, โหมดผสม)
เพื่อหาขนาดเป็น MB หารค่าด้วย (1024 * 1024)
สำหรับการตรวจสอบการใช้งานหน่วยความจำฮีปสดให้ใช้ jconsole
คุณสามารถตรวจสอบเครื่องมือนี้เช่นกันhttps://github.com/TeoGia/jotun
มันเป็นเสื้อคลุมของ jstat และเอาท์พุทการใช้ heap และ RAM ในรูปแบบ json
jhsdb jmap --heap --pid xxxx
ทำกลอุบาย