Solaris記憶體監控(轉)
Solaris記憶體監控(轉)[@more@]Solaris記憶體主要用在以下幾個方面:核心,程式,檔案系統快取。如下是監控記憶體使用的方法。
可用系統實體記憶體
分配給Solaris核心的記憶體數量
檔案系統快取使用的記憶體數量
程式使用的記憶體數量
系統剩餘的記憶體數量
Total Physical Memory
使用prtconf命令,察看系統實體記憶體數量。
prtconf | head -2
System Configuration: Sun Microsystems sun4u
Memory size: 49152 Megabytes
Kernel Memory
使用sar –k察看系統核心佔用的記憶體,如下3個記憶體池之和即是,單位byte
sar -k 1 1
SunOS lonespappb33 5.8 Generic_117350-13 sun4u 11/28/05
05:39:26 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail
05:39:28 483386752 202156800 0 4400701440 2886180864 0 656105472 0
File System Caching Memory
檔案系統快取使用系統可用的剩餘記憶體快取檔案。在Solaris上,可用的剩餘記憶體(free memory)大部分情況下總是接近0;Solaris8之前,vmstat 顯示的free列表示可用的剩餘記憶體,往往在系統啟動(booted)的時候很高,隨著系統執行慢慢降低為0,這是正常的,因為檔案系統快取的設計目的就是最大化利用系統可用記憶體來快取最經常訪問的檔案。
在Solaris8中,vmstat 顯示的free是系統可用的剩餘記憶體(free memory)和可pageable的檔案系統快取(file system cache memory),man的解釋:free size of the free list (Kbytes) 。檔案系統快取也掛在記憶體Free List上。
vmstat 1 5
procs memory page disk faults cpu
r b w swap free re mf pi po fr de sr s0 s1 s2 s3 in sy cs us sy id
0 1 0 62618064 33156520 5220 0 1144 0 0 0 0 0 1 0 0 8093 47291 1895 9 7 85
如上Solaris 8,vmstat 結果表示,檔案系統快取佔用了將近33156520k記憶體。
Free Memory
由於檔案系統快取總是儘量利用可用的剩餘記憶體快取檔案,因此大部分情況下Free memory總是接近0.
Memory Shortage Detection
系統執行時會不斷的page in page out;繁忙的paging操作,可導致Page Scaner執行頻繁,因此伴隨有較高的scan-rage(sr)和page-out(po);這可以作為系統繁忙paging 的表示。
如果有程式被swap(w>0),則通常表示記憶體短缺,這時候往往swap裝置的IO比較繁忙。
Swap Space
Solaris 交換空間(swap space)有2個重要的狀態:保留(swap reservation)和分配(physical swap allocation).
保留(swap reservation)是指Process建立segment的時候,系統分配給Process虛擬的記憶體地址空間(virtual memory address space),同時為了保證該segment以後可以被page out到swap,分配給Process與該segment同樣大小的虛擬交換空間(virtual swap space).
例如,process建立一個100M的segment,系統會分配給該process100M的virtual memory address space,但不會分配給process實體記憶體(physical memory);同時在Swap space中預先保留(reservation)100M虛擬交換空間(virtual swap space).
分配(physical swap allocation)是指segment driver給process segment分配實體記憶體時,預先為swap reservation區分配同樣大小的物理交換空間(physical swap space),用來page-out.
例如,process在已有100M的virtual memory address space基礎上,透過trap/page-fault/zero-fill-on-demand分配到10M的實體記憶體;同時會為預先保留(reservation)的100M虛擬交換空間(virtual swap space)分配10M物理swap space.
Virtual Swap Space
系統虛擬交換空間的數量為物理磁碟交換空間大小(disk swap space)+Solaris在記憶體中分配的交換空間大小(memory swap space).使用swap –s察看虛擬交換空間資訊。
$ swap -s
total: 929688k bytes allocated + 57408k reserved = 987096k used, 17715000k available
Physical Swap Space
系統物理交換空間的數量為/etc/vfstab中配置的磁碟交換空間大小。使用swap –l察看。
$ swap -l
swapfile dev swaplo blocks free
/dev/vx/dsk/swapvol 230,6 16 25165808 25165808
必須確保swap –s和swap –l 的available & free 非0,否則將無法分配虛擬交換記憶體或者物理交換記憶體;
此時,Oracle通常會遇見ORA-4030和ORA-12500錯誤。
可計算memory swap space: 987,096k+17,715,000k-25165808/2k=6,119,192k
Process Memory Usage , ps, and pmap
程式的記憶體也可分為2種,虛擬記憶體使用和實體記憶體使用。程式虛擬記憶體是指已經分配給程式的虛擬地址空間(virtual address space);實體記憶體是指分配給程式的真實的實體記憶體(real physical memory pages)數量。
Ps的vsz表示虛擬記憶體,rss表示實體記憶體
$ ps -opid,vsz,rss,args
PID VSZ RSS COMMAND
27495 1912 1016 –ksh
可用系統實體記憶體
分配給Solaris核心的記憶體數量
檔案系統快取使用的記憶體數量
程式使用的記憶體數量
系統剩餘的記憶體數量
Total Physical Memory
使用prtconf命令,察看系統實體記憶體數量。
prtconf | head -2
System Configuration: Sun Microsystems sun4u
Memory size: 49152 Megabytes
Kernel Memory
使用sar –k察看系統核心佔用的記憶體,如下3個記憶體池之和即是,單位byte
sar -k 1 1
SunOS lonespappb33 5.8 Generic_117350-13 sun4u 11/28/05
05:39:26 sml_mem alloc fail lg_mem alloc fail ovsz_alloc fail
05:39:28 483386752 202156800 0 4400701440 2886180864 0 656105472 0
File System Caching Memory
檔案系統快取使用系統可用的剩餘記憶體快取檔案。在Solaris上,可用的剩餘記憶體(free memory)大部分情況下總是接近0;Solaris8之前,vmstat 顯示的free列表示可用的剩餘記憶體,往往在系統啟動(booted)的時候很高,隨著系統執行慢慢降低為0,這是正常的,因為檔案系統快取的設計目的就是最大化利用系統可用記憶體來快取最經常訪問的檔案。
在Solaris8中,vmstat 顯示的free是系統可用的剩餘記憶體(free memory)和可pageable的檔案系統快取(file system cache memory),man的解釋:free size of the free list (Kbytes) 。檔案系統快取也掛在記憶體Free List上。
vmstat 1 5
procs memory page disk faults cpu
r b w swap free re mf pi po fr de sr s0 s1 s2 s3 in sy cs us sy id
0 1 0 62618064 33156520 5220 0 1144 0 0 0 0 0 1 0 0 8093 47291 1895 9 7 85
如上Solaris 8,vmstat 結果表示,檔案系統快取佔用了將近33156520k記憶體。
Free Memory
由於檔案系統快取總是儘量利用可用的剩餘記憶體快取檔案,因此大部分情況下Free memory總是接近0.
Memory Shortage Detection
系統執行時會不斷的page in page out;繁忙的paging操作,可導致Page Scaner執行頻繁,因此伴隨有較高的scan-rage(sr)和page-out(po);這可以作為系統繁忙paging 的表示。
如果有程式被swap(w>0),則通常表示記憶體短缺,這時候往往swap裝置的IO比較繁忙。
Swap Space
Solaris 交換空間(swap space)有2個重要的狀態:保留(swap reservation)和分配(physical swap allocation).
保留(swap reservation)是指Process建立segment的時候,系統分配給Process虛擬的記憶體地址空間(virtual memory address space),同時為了保證該segment以後可以被page out到swap,分配給Process與該segment同樣大小的虛擬交換空間(virtual swap space).
例如,process建立一個100M的segment,系統會分配給該process100M的virtual memory address space,但不會分配給process實體記憶體(physical memory);同時在Swap space中預先保留(reservation)100M虛擬交換空間(virtual swap space).
分配(physical swap allocation)是指segment driver給process segment分配實體記憶體時,預先為swap reservation區分配同樣大小的物理交換空間(physical swap space),用來page-out.
例如,process在已有100M的virtual memory address space基礎上,透過trap/page-fault/zero-fill-on-demand分配到10M的實體記憶體;同時會為預先保留(reservation)的100M虛擬交換空間(virtual swap space)分配10M物理swap space.
Virtual Swap Space
系統虛擬交換空間的數量為物理磁碟交換空間大小(disk swap space)+Solaris在記憶體中分配的交換空間大小(memory swap space).使用swap –s察看虛擬交換空間資訊。
$ swap -s
total: 929688k bytes allocated + 57408k reserved = 987096k used, 17715000k available
Physical Swap Space
系統物理交換空間的數量為/etc/vfstab中配置的磁碟交換空間大小。使用swap –l察看。
$ swap -l
swapfile dev swaplo blocks free
/dev/vx/dsk/swapvol 230,6 16 25165808 25165808
必須確保swap –s和swap –l 的available & free 非0,否則將無法分配虛擬交換記憶體或者物理交換記憶體;
此時,Oracle通常會遇見ORA-4030和ORA-12500錯誤。
可計算memory swap space: 987,096k+17,715,000k-25165808/2k=6,119,192k
Process Memory Usage , ps, and pmap
程式的記憶體也可分為2種,虛擬記憶體使用和實體記憶體使用。程式虛擬記憶體是指已經分配給程式的虛擬地址空間(virtual address space);實體記憶體是指分配給程式的真實的實體記憶體(real physical memory pages)數量。
Ps的vsz表示虛擬記憶體,rss表示實體記憶體
$ ps -opid,vsz,rss,args
PID VSZ RSS COMMAND
27495 1912 1016 –ksh
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-963011/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Solaris記憶體監控記憶體
- AIX 記憶體監控AI記憶體
- 記憶體CPU監控記憶體
- iOS微信記憶體監控iOS記憶體
- RabbitMQ - 記憶體磁碟監控MQ記憶體
- nagios-新增記憶體監控iOS記憶體
- [轉帖]Solaris記憶體管理以及判定記憶體是否夠用的方法記憶體
- nagios監控linux主機監控記憶體指令碼iOSLinux記憶體指令碼
- Flutter 上的記憶體洩漏監控Flutter記憶體
- Android 分割槽和記憶體監控Android記憶體
- AIX下記憶體洩漏的監控AI記憶體
- 監控某程式記憶體佔用異常記憶體
- nagios-建立記憶體監控指令碼iOS記憶體指令碼
- [實戰] Flutter 上的記憶體洩漏監控Flutter記憶體
- 雲音樂 Android 記憶體監控探索篇Android記憶體
- tomcat記憶體溢位問題監控工具Tomcat記憶體溢位
- SQL Server 2008記憶體效能監控SQLServer記憶體
- Oracle資料庫記憶體監控及意義Oracle資料庫記憶體
- AIX5L記憶體監控和調整AI記憶體
- 阿里開源 java 專案記憶體監控工具 arthas阿里Java記憶體
- jconsole tomcat記憶體監控設定Tomcat記憶體
- Oracle記憶體中的幾個重要監控指標Oracle記憶體指標
- Shell----監控CPU/記憶體/負載高時的程式記憶體負載
- Jprofiler3+Tomcat5監控記憶體的問題Tomcat記憶體
- Linux系統記憶體監控全面講解:free命令Linux記憶體
- solaris記憶體引數調整及管理記憶體
- Solaris8安裝記憶體分析工具memtool安裝使用文件(轉)記憶體
- 在 Node 服務中發生 OOM 時,如何監控記憶體?OOM記憶體
- 一文探討堆外記憶體的監控與回收記憶體
- 利用 Shell 指令碼來監控 Linux 系統的記憶體指令碼Linux記憶體
- Android記憶體洩漏監控和優化技巧總結Android記憶體優化
- shell指令碼:自動記憶體監控及日誌備份指令碼記憶體
- PowerShell 指令碼來監控 CPU、記憶體和磁碟使用情況:指令碼記憶體
- Solaris linux 系統監控指令碼Linux指令碼
- 瀏覽器performance工具介紹及記憶體問題表現與監控記憶體的幾種方式瀏覽器ORM記憶體
- 用 Bash 指令碼監控 Linux 上的記憶體使用情況指令碼Linux記憶體
- 如何用bash shell 指令碼監控 Linux記憶體、磁碟和 CPU?指令碼Linux記憶體
- Hp ux 的一些關於記憶體監控的說明UX記憶體