Pada artikel ini, kita akan membahas beberapa perintah, alat, dan teknik awal untuk membantu melacak memori CPU dan penggunaan disk di Java.
Alat Java mengawasi konstruksi dan proses bytecode Java. Profiler Java melacak semua perintah sistem dan penggunaan prosesor. Ini memungkinkan Anda untuk memanggil dana kapan saja.
Profiler standar memberikan banyak pengetahuan, yang nilainya tergantung pada tujuan debug. Beberapa alat lebih baik untuk menggabungkan log untuk semua aplikasi dan server, seperti Stackify Retrace , menyiapkan dan melacak log permintaan otomatis. Alat: Manajemen Kinerja Aplikasi Stackify, Retrace - menawarkan kepada pengguna Java pemahaman yang lebih baik tentang desain aplikasi melalui logging yang disematkan dan pembuatan profil kode. Bersama dengan logging terpusat dan terstruktur yang diterapkan, dimungkinkan untuk mengakses semua log aplikasi dari satu titik untuk semua aplikasi dan server.
Di sini kami telah membuat daftar cara untuk mendemonstrasikan pelacakan memori dan CPU di Java untuk mengoptimalkan kode Anda.
5 Cara Memantau Memori CPU dan Penggunaan Disk di Java!
Perintah Dasar Linux untuk Melacak Penggunaan Memori CPU dan Penggunaan Disk
a) bebas –m
Perintah mentransfer memori yang tersedia dan terisi ke mesin virtual Anda.
b) atas
Perintah ini untuk melihat penggunaan CPU dan memori.
Saat Anda memasukkan 1 pada keyboard Anda, maka top akan menyala dan menampilkan semua kemungkinan CPU dan penggunaan masing-masing.
Ada total 4 CPU - CPU0, CPU1, CPU2, CPU3 - dan semua statistik penggunaannya.
c) meminfo dan cpuinfo
Gunakan perintah berikut untuk informasi rinci mengenai memori dan prosesor mesin virtual.
$ cat / proc / cpuinfo
$ cat / proc / meminfo
d) Memori CPU dan penggunaan disk dari proses tertentu.
$ ps -p [pid] -o% cpu,% mem, cmd
CPU Java. .
e) Java .
$ps uH –p [pid]
.
CPU .
, , . CPU.
df –k –>
lsof -i :<port> –> ,
lsof –i: tcp –> TCP
netstat -plunt –>
ManagementFactory . MemoryMXBean. MemoryMXBean:
MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean(); System.out.println(String.format(“Initial memory: %.2f GB”, (double)memoryMXBean.getHeapMemoryUsage().getInit() /1073741824)); System.out.println(String.format(“Used heap memory: %.2f GB”, (double)memoryMXBean.getHeapMemoryUsage().getUsed() /1073741824)); System.out.println(String.format(“Max heap memory: %.2f GB”, (double)memoryMXBean.getHeapMemoryUsage().getMax() /1073741824)); System.out.println(String.format(“Committed memory: %.2f GB”, (double)memoryMXBean.getHeapMemoryUsage().getCommitted() /1073741824));
, , . :
: Java
: , Java
: JVM. OutOfMemoryException ,
: JVM
(-Agentpath)
java Windows, Linux masOS. -Agentpath - .
:
java –agentpath:/usr/profiler/lib/[agent].so -jar application.jar
, .
JProfiler Yourkit .
Java (-Javaagent)
Java -javaagent , . Java :
a) premain()
b) Pre-Main MANIFEST.MF JAR,
c) JVM –javaagen
java -javaagent:agent.jar -jar application.jar
premain() main() , -javaagent -jar.
, main() , agentmain() . Agent-Main MANIFEST.MF .
(-Agentlib)
-Agentlib - , JVM . :
1) HPROF
2) JVM
1) HPROF:
HPROF CPU, Java. . –agentlib:hprof –Xrunhprof HPROF.
JVM , , java.hprof.txt.
java agentlib:hprof=heap=sites Hello.java
HPROF , .
javac -J-agentlib:hprof=heap=sites Hello.java
2)
–agentlib:jdwp . JVM
java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:9001, server=y,suspend=y –jar application.jar
, IDE.
Gunakan perintah terbatas / jarak jauh untuk metode debugging di Jawa. Aplikasi yang memonitor record pada port yang ditentukan tidak akan berjalan sampai langkah (ii) selesai.
Tangkapan layar entri dari aplikasi: Pemantauan dt_socket transportasi di alamat: 9001
Inisialisasi proyek dalam IDE dalam mode debug dan lampirkan enkripsi ke host dan port.
Debug kode Anda di satu server dengan IDE.