關於Java虛擬機器效能調優方法的一些分析
1 需要一個性能探測器,找到呼叫最頻繁的程式碼段,優化這部分程式碼(優化演算法)
2 往往1%的程式碼執行時間佔99%。所以優化這些程式碼就能事半功倍。
3 最好是能看懂編譯後的程式碼,這樣分析最徹底。
Java的效能分析使用JProfiler
堆疊分析使用的Jstack
Java效能調優 SSH框架優化以適應特定的專案
一、JVM調優
1 各種垃圾回收演算法及其優劣;
2 針對不同應用型別如何選擇JVM引數
3 常用調優工具的使用(jps/jstat/jmap/jstack/jinfo/jhat)
4 調優案例分析(如何選擇不同記憶體塊的大小,如何選擇不同的演算法來提升效能、響應時間)
二、Java應用中CPU佔用率、使用情況分析,執行緒死鎖等鎖
系統性能瓶頸的分析定位
1 JStack的深度使用
2 各種Linux監控命令的配合使用(top,vmstat,iostat,sar 不要輕信自己能完全掌控這些命令)、分析
(前一陣Java漏洞通過製造Hash衝突來佔盡CPU資源就可以通過top命令快速定位到,你肯定沒有這麼用過)
3 JProfiler的詳細使用
三、Java記憶體溢位分析
1 用EMA來分析記憶體佔用情況
相關推薦
關於Java虛擬機器效能調優方法的一些分析
關於效能調優: 1 需要一個性能探測器,找到呼叫最頻繁的程式碼段,優化這部分程式碼(優化演算法) 2 往往1%的程式碼執行時間佔99%。所以優化這些程式碼就能事半功倍。 3 最好是能看懂編譯後的程式碼,這樣分析最徹底。 Java的效能分析使用JProfiler 堆疊分析使用的Jstack Java效能調優 S
JVM(JAVA虛擬機器)調優及原理
堆記憶體設定 原理 JVM堆記憶體分為2塊:Permanent Space 和 Heap Space。 Permanent 即 持久代(Permanent Generation),主要存放的是Java類定義資訊,與垃圾收集器要收集的Java物件關係不大。Heap
windows虛擬機器效能調優
Windows系統在kvm環境下執行,以libvirt和qemu的hypervisor層角度看是不區分客戶機作業系統是Linux還是Windows,但實際執行來看效能相差較大,本文從以下幾個方面進行分析並提供優化方案。 virtio 虛機預設使用的驅動是v
Java虛擬機器效能監控與調優實戰
本文針對Java虛擬機器對程式效能影響,通過設定不同的Java虛擬機器引數來提升程式的效能。首先從Java虛擬機器各個效能方面來進行監控,找出Java虛擬機器中可能對程式效能影響較大的,然後先通過小實驗來證明對程式效能的影響,確定了對程式效能影響較大的指標。最後通過一個實際的
java效能調優的一些方法
在不斷地開發過程中,我們不再只是侷限於實現功能,我們慢慢開始著眼於提高程式碼的質量,提高程式的效能。程式碼優化就成了一個我們所關注的問題,或許你一開始對java效能調優無從下手,那我們今天就從最基礎的小的細節開始做起,正如1.1的一百次方就成了13780.612
HotSpot虛擬機器GC調優指南
原文:https://docs.oracle.com/javase/9/gctuning/JSGCT.pdf 1簡介 從桌面小程式applet到大型伺服器上的Web服務,有各種各樣的應用程式在使用Java平臺,標準版(Java SE)。為了支援這些不同種類的部署,Jav
Java虛擬機器棧和本地方法棧
java虛擬機器棧由棧幀組成,幀中儲存方法的執行狀態,包括區域性變量表和運算元棧等。在任一時刻,某一執行緒肯定是在執行某個方法。這個方法叫做該執行緒的當前方法;執行該方法的幀叫做執行緒的當前幀;宣告該方法的類叫做當前類。如果當前方法是java方法,則pc暫存器中存放當前正在執行的java虛擬機器指令
java虛擬機器棧與本地方法棧
java虛擬機器棧: 虛擬機器棧描述的是java方法執行的記憶體模型,每個方法在執行的同事都會建立一個棧幀用於儲存區域性變量表、運算元棧、動態連結,方法出口燈資訊。每一個方法從呼叫直至執行完成的過程,就對應著一個棧幀在虛擬機器棧中入棧到出棧的過程。 在java虛擬機
深入理解 Java 虛擬機器(九)方法呼叫
方法呼叫 方法呼叫不等同於方法執行,方法呼叫階段唯一任務就是確定被呼叫方法的版本(即呼叫哪一個方法),暫時還不涉及方法內部的具體執行過程。一切方法呼叫在 Class 檔案裡面儲存的都只是符號引用,需要在類載入期間,甚至到執行期間才能確定目標方法的直接引用。
Java虛擬機器效能監測工具Visual VM與OQL
1.Visual VM多合一工具 Visual VM是一個功能強大的多合一故障診斷和效能監控的視覺化工具,它集成了多種效能統計工具的功能,使用 Visual VM 可以代替jstat、jmap、jhat、jstack甚至是JConsole。在JDK 6 Update 7以後,Visual Vm便作為JDK的一
SAP CDS view效能調優的一些準則和例子
SAP CDS view優化的guideline: 一個很簡單的SELECT CDS view的open sql: 它的execution plan都會非常複雜: 我們就只展開上面execution plan tree最左邊的節點:展開之後要幾個螢幕才能顯示的下: 效能提升
一般專案常用效能調優方法(三)
靜態檔案優化靜態檔案優化主要是指對檔案大小的優化。檔案大小往往被很多開發人員忽略,但對於頻寬有限(公網專案)或者硬體裝置(主要是交換機)老舊的環境,檔案大小往往是效能的最大瓶頸。試想一個index.ac
一般專案常用效能調優方法(二)
功能優化從功能設計上,避免一次性載入大量資料。遇到一次性載入大量資料的,通過以下問題尋找功能優化方式:1. 設定預設查詢條件,僅載入部分資料。如對於監測資料的查詢分析,可預設僅查詢當天或當月
Hadoop效能調優方法
當我們寫完一個MR程式之後,我們希望能夠加快程式的執行速度,那麼怎麼進行效能的調優呢,有如下幾種方法? 1、mapper的數量 適當調整mapper的數量,使得每個mapper的執行時間在1分鐘為宜。因為mapper數量過小,則會導致整體速度過慢。太多則導致
通過jstat、jmap對java程式進行效能調優
1. 背景 硬體供應商多次反映,在tomcat啟動一段時間後,經常出現cpu佔用率100%,且重啟前一直保持在100%的情況。在重啟後cpu佔用率回落,但是一段時間後再次出現問題。 下圖為cpu佔用率100%時使用top命令的截圖,可以看到java程序的c
JVM執行時資料區域 —— 程式計數器、Java虛擬機器棧、本地方法棧、Java堆、方法區、執行時常量池
java虛擬機器執行時資料區域的概括圖如下所示: 下面將對執行時資料區進行講解 程式計數器 1、說明:程式計數器可以看做是當前執行緒所執行的位元組碼的行號指示器。其實通俗點講就是記錄class檔案執行到哪一行 2、注意的點: (1)因為CPU執
java虛擬機-GC-調優
最小 次數 n) 選擇 內存碎片 tails 最優 統計 收集器 1. 年輕代大小選擇 * 響應時間優先的應用:盡可能設大,直到接近系統的最低響應時間限制(根據實際情況選擇)。在此種情況下,年輕代收集發生的頻率也是最小的。同時,減少到達年老代的對象。 * 吞吐量優
Hadoop企業開發場景案例,虛擬機器伺服器調優
## Hadoop企業開發場景案例 ### 1 案例需求 (1)需求:從1G資料中,統計每個單詞出現次數。伺服器3臺,每臺配置4G記憶體,4核CPU,4執行緒。 (2)需求分析: 1G/128m = 8個MapTask;1個ReduceTask:1個mrAppMaster
Spark效能調優之原理分析
spark效能調優之前先明白原理,具體如下: 使用spark-submit提交一個Spark作業之後,這個作業就會啟動一個對應的Driver程序。根據使用的部署模式(deploy-mode)不同,Driver程序可能在本地啟動,也可能在叢集中某個工作節點上啟動。Driver程序本身會根
深入理解Java虛擬機器總結一虛擬機器效能監控工具與效能調優(三)
深入理解Java虛擬機器總結一虛擬機器效能監控工具與效能調優(三) JDK的命令列工具 JDK的視覺化工具 效能調優 JDK的命令列工具 主要有以下幾種: jps (Java Process Status Tool): 虛擬機器程序