1. 程式人生 > >效能指標之資源指標-記憶體-判斷佔用記憶體多的程序

效能指標之資源指標-記憶體-判斷佔用記憶體多的程序

實體記憶體佔用

Nmon sheet

根據經驗,nmon的top sheet -- Memory by command最直觀,也最容易直接看出哪個程序消耗的記憶體資源多。

然後採用類似ps –ef| grep java這樣的命令檢視這個程序具體是什麼內容。

另外,有不少命令也可以看哪個程序佔用實體記憶體多,但講真,經常用命令列去看,但經常看不出來什麼結果。例如下圖,每個程序消耗的實體記憶體似乎差距不大,雖然這個例子中伺服器上跑oracle這樣的系統軟體,記憶體都是oracle佔的,但即使不跑oracle,這些程序的記憶體佔用往往也差距不大,因為一個應用常常是由N個程序組成,而我們初步判斷誰佔用記憶體多時,最想知道的是哪個應用。

Svmon

列出消耗實體記憶體前十的程序

svmon -Pt10 | perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}'        

解釋一下inuse和virtual。Svmon裡面的inuse指的是這個程序消耗的計算記憶體+非計算記憶體,並且是在實體記憶體裡的那一部分(事實上,非計算記憶體也不會換頁到Paging Space裡面)。而virtual指的是程序空間裡面的分頁,這個分頁也許在實體記憶體,也許在Paging Space。假如說一個程序使用的分頁都在實體記憶體的話,inuse>=virtual,因為此時inuse裡面有檔案快取,而virtual裡面沒有檔案快取,檔案快取是作業系統給快取的,和程序空間沒關係。

相似的名字在不同命令當中的含義是不一樣的,一定要搞清楚這個欄位的真正含義

ps

ps aux | head -1 ; ps aux | sort -rn +4 | head -10     

按照佔用實體記憶體的百分比排序,列出前十個程序。

Nmon command

nmon --> t (top processes) --> 4 (order in process size)

Paging Space佔用

用到Paging Space不一定說明這個程序佔用記憶體多,很有很能是它被其他程序擠出來的。查出誰在用Paging Space,大概率是查出誰是受害者。

按照佔用Paging Space的程序排序

svmon -P -O sortseg=pgsp         

檢查哪個程序引起的Paging到Paging Space(IBM script)。指令碼發現po這個指標大於50的時候儲存程序相關資訊退出

Paging Space一旦為這個分頁分配了磁碟空間,就不會因為這個分頁換回實體記憶體而釋放,因此經常可以看到Paging Space的利用率不為0,但此時實體記憶體佔用也不多。Paging Space的利用率不為0只能說明歷史上有實體記憶體不足的情況。

相關推薦

效能指標資源指標-記憶體-判斷佔用記憶體程序

實體記憶體佔用 Nmon sheet 根據經驗,nmon的top sheet -- Memory by command最直觀,也最容易直接看出哪個程序消耗的記憶體資源多。 然後採用類似ps –ef| grep java這樣的命令檢視這個程序具體是什麼內容。

效能指標資源指標-網路IO-關注指標

有時系統性能的低下是由於網路頻寬不足、網路抖動或者伺服器端的相關引數配置導致的。本節介紹網路IO的相關指標。 一、 配置 1.1 最大頻寬 LPAR能夠佔用的最大頻寬是有網路管理員/運營商配置決定的。如果需要了解某個LPAR的最大頻寬或者某N個LPAR共同佔用的最

轉:性能指標業務指標

余額 線程 毫秒 更多 頁面 天花板 10個 邏輯 沒有 經常在系統的需求書當中看到這樣的描述“響應時間在3秒以內”,這類需求讓測試人員無從下手,這是在多大的並發用戶數下面得到這個結果?在多少存量數據的情況下得到這個結果? 1年、2年?即使隨便設置個場景測完了,也不敢出具測

android智慧指標輕量級指標

C++與JAVA的區別是記憶體需要手動管理,具體的來說就是由NEW分配的記憶體或對像需要手動呼叫delete來手動刪除。這樣就導致一個問題,如果大型軟體中一個對像可能在多個執行緒中有使用,必須出現重複多次引用的情況。那麼我們應該在那個執行緒去釋放了,這樣就可能導致釋放了但還有的執行緒在使用導致記憶體洩露,還有

android智慧指標指標和弱指標

LightRefBase是輕量級的,那麼RefBase就應該是重量級的了,它的名字中少了light。Android為神馬要引入這個類呢?想一下這樣一個場景,現在有兩個物件:A和B,物件A中有B的引用,因此B的引用等於1;物件B中有A的引用,因此物件A的引用對於1;現在問題來了,這兩個物件和外界的任何物件都沒有

C/C++指標--NULL指標,零指標,野指標

經常在聽到野指標的時候一臉懵逼,現在是得好好總結一下了。感謝fly1988happy前輩,他的blog裡面還寫了一些關於空指標的保護政策,這些point等我對虛擬空間的訪問許可權進行總結時,再來探討。 1.空指標常量 0、0L、’\0’、3 - 3、0 *

執行緒互斥鎖(By C++)與程序

#include<Windows.h> #include<iostream> using namespace std; //互斥鎖 HANDLE hMutex1; HANDLE hMutex2; int flag; DWORD WINAPI MyThread2(LPVOID lp

C++小知識——記憶體管理智慧指標

在C++中,動態記憶體的管理是通過一對運算子來完成的: 1)new:在動態記憶體中為物件分配空間並返回一個指向該物件的指標 2)delete:接受一個動態物件的指標,銷燬該物件,並釋放與之關聯的記憶體 因為這樣的原因,我們時常很難確保在正確的時間去釋放記憶體,甚至我們忘記了去釋放記憶體,這

C++ Primer Plus書--C++指標及使用new分配記憶體,使用delete釋放記憶體

先來個簡單的程式初步認識一下指標  #include "iostream" using namespace std; int main() { // 定義一個int型變數 int num = 123; // 定義一個int型指標變數 int * p_num; // 指標指向

機器學習:效能度量指標查準率和查全率

    在很多實際應用中,我們知道僅僅關心正確分類的結果是不夠的,並且,在資料偏斜比較嚴重的情況下,模型準確率可能具有相當程度的誤導性,我們也需要知道資料被錯誤分類的情況,以確認為此需要承擔的分類錯誤的代價。(False Positive假陽性和False Negative假

《程式設計珠璣》程式碼路9:請粗略估計,200萬一個值和一個指標的結構體能否存入128MB記憶體

這個問題是《程式設計珠璣》第七章的一個問題。主要就是說像一個結構體中包含一個int和一個char,加起來是5個位元組,但因為位元組對齊的需要,實際會佔用8位元組。就這麼多麼? 作為經典鉅著,當然不會這麼一點點啦。 看下圖: 這幅圖是告訴我們,一個對齊後sizeof()列大小的結構體

kubernetes學習筆記十二:資源指標API及自定義指標API

第一章、前言 以前是用heapster來收集資源指標才能看,現在heapster要廢棄了從1.8以後引入了資源api指標監視 資源指標:metrics-server(核心指標) 自定義指標:prometheus,k8s-prometheus-adapter(將Prometheus採集的資料轉換為指

C和指標動態記憶體分配(編寫calloc函式,函式內部使用malloc函式來獲取記憶體)

1、問題 編寫calloc函式,函式內部使用malloc函式來獲取記憶體 2、程式碼實現 #include <stdio.h> #include <stdlib.h&

C語言指標專題一:指標變數和指標所指向的記憶體空間是兩個不同的概念

指標變數和指標所指向的記憶體空間是兩個不同的概念 char*p = "123456";//p是一個指標變數存放在臨時棧區,"123456"是一個字串常量存放在常量區,變數p儲存的是字串的地址 char*str = (char*)malloc(100);//將分配的100位

C語言_指標陣列、結構體、動態記憶體分配

1、sizeof() int main() { int a[20]; int count=sizeof(a)/sizeof(int); printf(“%d\n”,count); return 0; } 2、指標陣列

Android應用效能測試CPU和記憶體佔用

 最近發現自己學的很多東西沒有做好積澱的工作,也萌生了寫一些東西的念頭。本人也沒有寫部落格的習慣,下邊就寫一下手機端的效能測試。   最近公司,要我們從事對競品的效能測試,我負責CPU和記憶體的效能測試,下面就和大家來分享一下android應用程式的CPU和記憶體的效能

C語言指標通過修改記憶體修改陣列的資料

原理 原理非常之簡單,比如說有陣列a,a是有資料的,然後通過一個指標指向這個a陣列的記憶體,然後直接在記憶體裡面修改資料,就可以觀察是否記憶體裡面的資料被修改了。 程式碼 int

C和指標動態記憶體分配輸入很多整數進行排序

1、問題 讀取一列整數,然後按升序排列它們,最後列印列表 2、程式碼實現 #include <stdio.h> #include <stdlib.h> /** 此函式根據

推薦系統學習評測指標

又能 根據 ima 商品 .net 一般來說 解釋 image 推薦系統 轉自 http://blog.csdn.net/sinat_33741547/article/details/52704986 最近開始學習推薦系統,特記錄一下學習過程並做個分享。推薦系統是什麽不用多

顯著性檢測(saliency detection)評價指標KL散度距離Matlab代碼實現

mean enc gray SM tla function cor 代碼 ati 步驟1:先定義KLdiv函數: function score = KLdiv(saliencyMap, fixationMap) % saliencyMap is the saliency