1. 程式人生 > >Java效能、記憶體分析

Java效能、記憶體分析

12:19 [[email protected]]$ jstack 6337 2016-11-13 12:19:16 Full thread dump Java HotSpot(TM) 64-Bit Server VM (23.6-b04 mixed mode): "resin-port-80" daemon prio=10 tid=0x000000001da87800 nid=0x1936 in Object.wait() [0x00000000462f0000]    java.lang.Thread.State: TIMED_WAITING (on object monitor)         at java.lang.Object.wait(Native Method)         - waiting on <0x000000076fc6e998> (a com.caucho.server.port.Port)         at com.caucho.server.port.Port.run(Port.java:1287)         - locked <0x000000076fc6e998> (a com.caucho.server.port.Port)         at java.lang.Thread.run(Thread.java:722) "resin-port-6800" daemon prio=10 tid=0x000000001da89800 nid=0x1935 in Object.wait() [0x00000000461ef000]    java.lang.Thread.State: TIMED_WAITING (on object monitor)         at java.lang.Object.wait(Native Method)         - waiting on <0x000000076fc6a1e0> (a com.caucho.server.cluster.ClusterPort)         at com.caucho.server.port.Port.run(Port.java:1287)         - locked <0x000000076fc6a1e0> (a com.caucho.server.cluster.ClusterPort)         at java.lang.Thread.run(Thread.java:722) "PromotedConfigTask-23-thread-1" daemon prio=10 tid=0x000000001d6b2000 nid=0x1934 waiting on condition [0x00000000460ee000]    java.lang.Thread.State: TIMED_WAITING (parking)         at sun.misc.Unsafe.park(Native Method)         - parking to wait for  <0x0000000774792478> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)         at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)         at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)         at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1090)         at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)         at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)         at java.lang.Thread.run(Thread.java:722)

相關推薦

Java效能記憶體分析

12:19 [[email protected]]$ jstack 6337 2016-11-13 12:19:16 Full thread dump Java HotSpot(TM) 64-Bit Server VM (23.6-b04 mixed mode): "resin-port-80"

作業系統效能計數器CPU分析磁碟I/O分析記憶體分析

Window作業系統的主要效能技術器: Linux/UNIX 作業系統的主要效能計數器:   Linux系統的命令和UXIN的有些差別,在UNIX系統下的主要計數器監控命令是vmstat、iostat、top、sar、sag(圖形方式,需要XSe

JProbe 8.0:Java程式碼記憶體及覆蓋率分析王者回歸

一、總述     當多個使用者使用java開發的應用程式時,應用程式的可靠性和伸縮性就可能會給可用性帶來風險,出現效能瓶頸、記憶體洩漏、程序已經為測試程式碼等問題。只可以利用與java涉及的解析器。內容包括:效能分析、記憶體糾錯、程式碼覆蓋、執行緒分析。    功能: 1.      輕鬆發現和消除效能

Java連載33-物件的建立和使用記憶體分析

一、建立一個學生類 每個學生都有學號資訊,但是每一個學生的學號都是不同的,所以要訪問這個學號必須先建立物件,通過物件去訪問學號資訊,學號資訊不能直接通過“類”去訪問,所以這種成員變數又被稱為“例項變數” 注意: (1)物件又被稱為例項,例項變數又被稱為物件變數(物件級別的變數) (2)不建立物件,這個Numb

Python 指令碼時間記憶體分析

# -*- coding: utf8 -*- """ 1. 使用 memory_profiler 分析指令碼記憶體使用詳情 2. 使用 cProfile 分析指令碼時間使用詳情 Wed Jan 24 19:55:54 2018 matrix_sum.txt

java 物件轉型記憶體分析

物件轉型:      一個基類的引用型別變數可以指向其子類的物件(要求傳個動物,傳給狗是可以的,狗是動物)      一個基類的引用不可以訪問其子類物件的新增成員(狗會游泳不代表所有的動物都會游

【開發工具】JAVA效能分析:6超詳細的JProfiler記憶體分析(官方中文版)

Memory Profiling——記憶體分析 有兩種方法可以獲取有關堆上物件的資訊。一方面,分析代理可以跟蹤每個物件的分配和垃圾收集。在JProfiler中,這稱為“分配記錄”。它告訴您已分配物件的位置,還可用於建立有關臨時物件的統計資訊。另一方面,JVM的分析介面允許分析代理採用“堆快照”,

linux記憶體除錯記憶體洩漏檢測以及效能分析的工具-valgrind

Valgrind這個名字取自北歐神話中英靈殿的入口。 Valgrind的最初作者是Julian Seward,他於2006年由於在開發Valgrind上的工作獲得了第二屆Google-O’Reilly開原始碼獎。 Valgrind遵守GNU通用公共許可證條款,是一款自由軟體。 官

java知識點7——面向過程和麵向物件面向物件的記憶體分析構造方法

面向過程和麵向物件 解決簡單問題可以使用面向過程 解決複雜問題:巨集觀上使用面向物件把握,微觀處理上仍然是面向過程。 面向物件具有三大特徵:封裝性、繼承性和多型性,而面向過程沒有繼承性和多型性,並且面向過程的封裝只是封裝功能,而面向物件可以封裝資料和功能。所以面向物件優

希爾排序的Java實現效能分析以及適用場景

1.希爾排序的Java實現: 程式碼如下: package com.zm.testSort; /** *希爾排序的最優化 * @author zm */ public class ShellS

Java ArrayListLinkedList和Vector的使用及效能分析

第1部分 List概括 List 是一個介面,它繼承於Collection的介面。它代表著有序的佇列。 AbstractList 是一個抽象類,它繼承於AbstractCollection。AbstractList實現List介面中除size()、get(int loc

Java效能系一(JVM垃圾回收記憶體調優常見引數)

一、什麼是JVM     JVM是Java Virtual Machine(Java虛擬機器)的縮寫,JVM是一種用於計算裝置的規範,它是一個虛構出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。     Java語言的一個非常重要的

【開發工具】JAVA效能分析:8超詳細的JProfiler執行緒分析(官方中文版)

Thread Profiling——執行緒分析 官方文件http://resources.ej-technologies.com/jprofiler/help/doc/index.html 錯誤地使用執行緒可能會產生許多不同型別的問題。太多活動執行緒可能導致執行緒不足,執行緒可能會相互阻塞並

【開發工具】JAVA效能分析:7超詳細的JProfiler堆分析(官方中文版)

堆分析——The Heap Walker 一、堆快照——Heap snapshots 涉及物件之間引用的任何堆分析都需要堆快照,因為無法向JVM詢問對物件的傳入引用是什麼 - 您必須遍歷整個堆來回答該問題。從該堆快照,JProfiler建立一個內部資料庫,該資料庫經過優化,可以生成在堆wal

【開發工具】JAVA效能分析:5超詳細的JProfilerCPU分析(官方中文版)

CPU Profiling——CPU分析 當JProfiler測量方法呼叫的執行時間及其呼叫堆疊時,我們稱之為“CPU分析”。該資料以各種方式呈現。根據您嘗試解決的問題,一個或另一個簡報將是最有幫助的。預設情況下不記錄CPU資料,您必須開啟CPU記錄才能捕獲有趣的用例。 一、取樣與儀表——S

【開發工具】JAVA效能分析:4超詳細的JProfiler遙測分析(官方中文版)

Telemetries——遙測資料 分析的一個方面是監視隨時間的標量測量,例如使用的堆大小。在JProfiler中,這種圖形稱為遙測。通過觀察遙測,您可以更好地瞭解配置檔案,允許您將重要事件與不同測量值相關聯,並且如果發現意外行為,可能會提示您使用JProfiler中的其他檢視進行更深入的分析。

【開發工具】JAVA效能分析:3超詳細的JProfiler快照分析(官方中文版)

Snapshots——快照分析 到目前為止,我們只查看了JProfiler GUI從配置檔案JVM中執行的效能分析代理獲取資料的實時會話。JProfiler還支援將所有分析資料寫入檔案的快照。在以下幾種情況下,這可能是有利的: 您可以自動記錄分析資料,例如作為測試的一部分,以便無法連線

【開發工具】JAVA效能分析:1超詳細的JProfiler安裝使用(具體資料分析見2)

一、JProfiler簡單介紹 JProfiler是由ej-technologies GmbH公司開發的一款效能瓶頸分析工具(該公司還開發部署工具)。 其特點: 1、使用方便,介面操作友好 2、對被分析的應用影響小 3、CPU,Thread,Memory分析功能尤其強大,支援對jdb

【開發工具】JAVA效能分析:2超詳細的JProfiler資料分析(官方中文版)

此頁是根據官方的英文版進行的對照翻譯。重要資訊用紅色加粗進行了標記。 Recording Data——記錄資料 一、Scalar values and telemetries          從分析器的角度來看,最不成問題的資料形式是標

1.JVM原理java記憶體分析

目錄 JVM原理 記憶體分析 共享 獨有 JVM原理 JVM生命週期:一個執行中的Java虛擬機器有著一個清晰的任務:執行Java程式。你在同一臺機器上執行三個程式,就會有三個執行中的Java虛擬機器。 Main()方法是程式的起點,程式中其他的